Framework.ToplevelToplevel abstraction
There are two main differences with domains. First, transfer functions are indexed by paths to enable a faster access. Second, transfer functions are not partial functions and return always a result.
module type TOPLEVEL = sig ... endSignature of the toplevel abstraction
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a