Module Dynamic_stack

module Dynamic_stack: sig .. end

type 'a dynamic_stack = {
   mutable capacity : int;
   mutable size : int;
   mutable stack : 'a array;
   default : 'a;
}
val make : int -> 'a -> 'a dynamic_stack
val push : 'a dynamic_stack -> 'a -> unit
val empty : 'a dynamic_stack -> bool
val pop : 'a dynamic_stack -> 'a
val top : 'a dynamic_stack -> 'a