public static T Call <T>(this ScriptContext context, string /*!*/ functionName, NamingContext namingContext,
                                 Dictionary <string, object> callerLocalVariables, params object[] arguments)
            where T : class
        {
            PhpReference rf = context.Call(functionName, namingContext, callerLocalVariables, arguments);

            if (rf.Value == null)
            {
                return(null);
            }
            else
            {
                return(DuckTyping.Instance.ImplementDuckType <T>(rf.Value));
            }
        }