functor (T : sig val epsilon : float end-> S