sig
val iter : (Lang.F.term -> unit) -> Lang.F.term -> unit
val once : (Lang.F.term -> unit) -> Lang.F.term -> unit
val head : Lang.F.term -> string
val pattern : Lang.F.term -> string
val matches : string -> Lang.F.term -> bool
type occurrence = int * string
val locate :
select:Lang.F.term -> inside:Lang.F.term -> Footprint.occurrence
val lookup :
occur:Footprint.occurrence -> inside:Lang.F.term -> Lang.F.term
end