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