sig   val iter :     ?prj:Project.t -> (string -> 'a Type.t -> 'a -> bool -> unit) -> unit   val fold :     ?prj:Project.t ->     (string -> 'a Type.t -> 'a -> bool -> 'acc -> 'acc) -> 'acc -> 'acc   val find : ?prj:Project.t -> string -> 'a Type.t -> 'a * bool end