functor () -> sig end