final public function typehintFunction(string $functionName, array $custom = [])
    {
        $reflectionFunction = new ReflectionFunction($functionName);

        $reflectionParameters = $reflectionFunction->getParameters();

        $params = $this->resolveParams($reflectionParameters, $custom);

        return call_user_func_array(
            $functionName,
            $params
        );
    }