pub(crate) fn map_ok_or_else_fn<F, G>(
    f: F,
    g: G
) -> ChainFn<MapOkFn<F>, ChainFn<MapErrFn<G>, MergeResultFn>>