functor (Stack : Stack_intf.S-> sig  end