
@function __add($augend, $addend, $args...) {
    $augend: __parse-float($augend);
    $addend: __parse-float($addend);

    $units: __map($augend $addend, __unit);
    $unit-groups: __map($units, __unit-group);

    $unit-groups-equal: if(
      __every($unit-groups, __is-equal null),
      __is-equal($units...),
      __is-equal($unit-groups...));

    @if ($unit-groups-equal == false and __every($units)) {
      @return calc(#{unquote('#{$augend} + #{$addend}')});
    }

    @return $augend + $addend;
}


///
/// Adds two numbers.
///
/// @access public
/// @group Math
/// @param {number} $augend The first number to add.
/// @param {number} $addend The second number to add.
/// @returns {number} Returns the sum.
/// @example scss
/// $foo: _add(6, 4);
/// // => 10

@function _add($args...) {
    @return call(get-function('__add'), $args...);
}


/// @alias _add

@function \+($args...) {
    @return call(get-function('__add'), $args...);
}