- val check_invariant : Base.Bool.t Base.Ref.t
- Whether the invariants are called on each invocation. 
- val show_messages : Base.Bool.t Base.Ref.t
- If true, you get a message on stderr every time - debugis called.
- val debug : 't Base.Invariant.t -> module_name:Base.String.t -> Base.String.t -> 't Base.List.t -> 'args -> ('args -> Sexp.t) -> ('result -> Sexp.t) -> (Base.Unit.t -> 'result) -> 'result
- We avoid labels so that the applications are more concise -- see example above.