sig   type ('a, 'b) t =       Leaf of 'a * 'b     | Node of 'a * ('a, 'b) GapiCore.AnnotatedTree.t list   val map : ('a -> 'b) -> 'a list -> 'b list   val kfold :     ('a ->      (('b -> 'b) -> 'c) list ->      ('a, 'd) GapiCore.AnnotatedTree.t -> ('b -> 'b) -> 'c) ->     ('a -> 'd -> ('a, 'd) GapiCore.AnnotatedTree.t -> ('b -> 'b) -> 'c) ->     ('a, 'd) GapiCore.AnnotatedTree.t -> 'c   val xfold :     ('a -> 'b list -> ('a, 'c) GapiCore.AnnotatedTree.t -> 'b) ->     ('a -> 'c -> ('a, 'c) GapiCore.AnnotatedTree.t -> 'b) ->     ('a, 'c) GapiCore.AnnotatedTree.t -> 'b   val fold :     ('a -> 'b list -> 'b) ->     ('a -> 'c -> 'b) -> ('a, 'c) GapiCore.AnnotatedTree.t -> 'b end