`type 'a state````=` `{`

`pre : 'a;`
`post : 'a;`
`visit_count : int;`

`}```
`module type S : sig ... end`

type of an intraprocedural abstract interpreter

`module MakeNoCFG : functor (Scheduler : Scheduler.S) -> functor (TransferFunctions : TransferFunctions.SIL with module CFG = Scheduler.CFG) -> S with module TransferFunctions = TransferFunctions`

create an intraprocedural abstract interpreter from a scheduler and transfer functions

`module Make : functor (CFG : ProcCfg.S) -> functor (MakeTransferFunctions : TransferFunctions.MakeSIL) -> S with module TransferFunctions = MakeTransferFunctions(CFG)`

create an intraprocedural abstract interpreter from a CFG and functors for creating a scheduler/ transfer functions from a CFG