sig
  val top : 'a BatStack.t -> 'a option
  val pop : 'a BatStack.t -> 'a option
end