1signature Stack = sig
2
3    type 'item stack
4    val empty : unit -> 'item stack
5    val isEmpty : 'item stack -> bool
6    val pop : 'item stack -> 'item stack
7    val push : 'item * 'item stack -> 'item stack
8    val top : 'item stack -> 'item
9    val stack2set : 'item stack * 'item Binaryset.set -> 'item Binaryset.set
10  end
11