public static function compose(callable $g, callable $f) : callable
    {
        return function ($input) use ($g, $f) {
            return Functions::call($g, Functions::call($f, $input));
        };
    }
public static function compose(callable $g, callable $f) : callable
    {
        return function ($input) use ($g, $f) {
            return Functions::call($g, Functions::call($f, $input));
        };
    }
Returns the composition of two functions.

For f: A->B and g: B->C, composition is defined as the function h such that h(a) == g(f(a)) for each a.

@param callable $g
@param callable $f
@return callable