functor
(
T
:
sig
type
t
end
)
->
sig
type
t =
T
.t
->
T
.t
val
append : t
->
t
->
t
val
zero : t
end