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