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