functor (N : sig val value : int end-> SIZE