Module Pulselib.PulseDomainInterface

module AccessResult = PulseAccessResult
module ExecutionDomain = PulseExecutionDomain
module AbductiveDomain = 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 = PulseBaseDomain

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

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

Enforce short form usage

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