sig   type 'a t = 'Stack.t   exception Empty   val create : unit -> 'BatStack.t   val push : '-> 'BatStack.t -> unit   val pop : 'BatStack.t -> 'a   val top : 'BatStack.t -> 'a   val clear : 'BatStack.t -> unit   val copy : 'BatStack.t -> 'BatStack.t   val is_empty : 'BatStack.t -> bool   val length : 'BatStack.t -> int   val iter : ('-> unit) -> 'BatStack.t -> unit   type 'a enumerable = 'a t   val enum : 'BatStack.t -> 'BatEnum.t   val enum_destruct : 'BatStack.t -> 'BatEnum.t   val of_enum : 'BatEnum.t -> 'BatStack.t   val print :     ?first:string ->     ?last:string ->     ?sep:string ->     ('BatInnerIO.output -> '-> unit) ->     'BatInnerIO.output -> 'BatStack.t -> unit   val compare : 'BatOrd.comp -> 'BatStack.t BatOrd.comp   val equal : 'BatOrd.eq -> 'BatStack.t BatOrd.eq   module Exceptionless :     sig       val top : 'BatStack.t -> 'a option       val pop : 'BatStack.t -> 'a option     end end