Interface IOptionalFunctionFactory<I,​O,​R>