Module Pulselib__PulseDomainInterface

module AccessResult = Pulselib.PulseAccessResult
module ExecutionDomain = Pulselib.PulseExecutionDomain
module AbductiveDomain = Pulselib.PulseAbductiveDomain

if you do any mutations of the state in pulse you probably want this module

module Stack = AbductiveDomain.Stack
module Memory = AbductiveDomain.Memory
module AddressAttributes = AbductiveDomain.AddressAttributes
module BaseDomain = Pulselib.PulseBaseDomain

use only if you know what you are doing or you risk break bi-abduction

module BaseStack = Pulselib.PulseBaseStack
module BaseMemory = Pulselib.PulseBaseMemory
module BaseAddressAttributes = Pulselib.PulseBaseAddressAttributes
module LatentIssue = Pulselib.PulseLatentIssue

Enforce short form usage

include sig ... end
module PulseAbductiveDomain = Pulselib.PulseAbductiveDomain
module PulseAccessResult = Pulselib.PulseAccessResult
module PulseBaseDomain = Pulselib.PulseBaseDomain
module PulseBaseStack = Pulselib.PulseBaseStack
module PulseBaseMemory = Pulselib.PulseBaseMemory
module PulseBaseAddressAttributes = Pulselib.PulseBaseAddressAttributes
module PulseExecutionDomain = Pulselib.PulseExecutionDomain
module PulseLatentIssue = Pulselib.PulseLatentIssue