def call_function_with_scope(scope, function_name, *args, &block)
      internal_call_function(scope, function_name, args, &block)
    end
def call_function_with_scope(scope, function_name, *args, &block)
      internal_call_function(scope, function_name, args, &block)
    end
Allows the implementation of a function to call other functions by name and pass the caller
 scope. The callable functions are those visible to the same loader that loaded this function
 (the calling function).

 @param scope [Puppet::Parser::Scope] The caller scope
 @param function_name [String] The name of the function
 @param *args [Object] splat of arguments
 @return [Object] The result returned by the called function

 @api public