def call(name, *args)
      unless name.is_a?(Sass::Script::Value::String) ||
             name.is_a?(Sass::Script::Value::Function)
        assert_type name, :Function, :function
      end
      if name.is_a?(Sass::Script::Value::String)
        name = if function_exists(name).to_bool
                 get_function(name)
               else
                 get_function(name, "css" => bool(true))
               end
        Sass::Util.sass_warn(<<WARNING)
DEPRECATION WARNING: Passing a string to call() is deprecated and will be illegal
in Sass 4.0. Use call(#{name.to_sass}) instead.
WARNING
      end
      kwargs = args.last.is_a?(Hash) ? args.pop : {}
      funcall = Sass::Script::Tree::Funcall.new(
        name.value,
        args.map {|a| Sass::Script::Tree::Literal.new(a)},
        Sass::Util.map_vals(kwargs) {|v| Sass::Script::Tree::Literal.new(v)},
        nil,
        nil)
      funcall.line = environment.stack.frames.last.line
      funcall.filename = environment.stack.frames.last.filename
      funcall.options = options
      perform(funcall)
    end
def call(name, *args)
      unless name.is_a?(Sass::Script::Value::String) ||
             name.is_a?(Sass::Script::Value::Function)
        assert_type name, :Function, :function
      end
      if name.is_a?(Sass::Script::Value::String)
        name = if function_exists(name).to_bool
                 get_function(name)
               else
                 get_function(name, "css" => bool(true))
               end
        Sass::Util.sass_warn(<<WARNING)
DEPRECATION WARNING: Passing a string to call() is deprecated and will be illegal
in Sass 4.0. Use call(#{name.to_sass}) instead.
WARNING
      end
      kwargs = args.last.is_a?(Hash) ? args.pop : {}
      funcall = Sass::Script::Tree::Funcall.new(
        name.value,
        args.map {|a| Sass::Script::Tree::Literal.new(a)},
        Sass::Util.map_vals(kwargs) {|v| Sass::Script::Tree::Literal.new(v)},
        nil,
        nil)
      funcall.line = environment.stack.frames.last.line
      funcall.filename = environment.stack.frames.last.filename
      funcall.options = options
      perform(funcall)
    end
Dynamically calls a function. This can call user-defined
 functions, built-in functions, or plain CSS functions. It will
 pass along all arguments, including keyword arguments, to the
 called function.

 @example
   call(rgb, 10, 100, 255) => #0a64ff
   call(scale-color, #0a64ff, $lightness: -10%) => #0058ef

   $fn: nth;
   call($fn, (a b c), 2) => b

 @overload call($function, $args...)
   @param $function [Sass::Script::Value::Function] The function to call.