Stack.Make
Make(T) constructs a monoid that accumulates elements of type T.t
include Base with type t := TList(T).t
val zero : TList(T).t
zero
an element that is neutral to plus
val plus : TList(T).t -> TList(T).t -> TList(T).t
plus x y
an associative operation.
val concat : TList(T).t list -> TList(T).t
concat xs
reduces xs
to using plus
val (@@) : TList(T).t -> TList(T).t -> TList(T).t
x @@ y
is plus x y