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