Class OptionalFunctionFactory<I,​O>