functor (D : Declarator) -> sig type t = D.t val define : t -> unit val get_definition : t -> Fol.decl val on_definition : (t -> Fol.decl -> unit) -> unit end