identical = function identical(a, b) {
    switch (arguments.length) {
      case 0:
        return identical;
      case 1:
        return function () {
          return function unaryIdentical(_b) {
            switch (arguments.length) {
              case 0:
                return unaryIdentical;
              default:
                return _objectIs$1(a, _b);
            }
          };
        }();
      default:
        return _objectIs$1(a, b);
    }
  }
Returns true if its arguments are identical, false otherwise. Values are
identical if they reference the same memory. `NaN` is identical to `NaN`;
`0` and `-0` are not identical.

Note this is merely a curried version of ES6 `Object.is`.

`identical` does not support the `__` placeholder.

@func
@memberOf R
@since v0.15.0
@category Relation
@sig a -> a -> Boolean
@param {*} a
@param {*} b
@return {Boolean}
@example

     const o = {};
     R.identical(o, o); //=> true
     R.identical(1, 1); //=> true
     R.identical(1, '1'); //=> false
     R.identical([], []); //=> false
     R.identical(0, -0); //=> false
     R.identical(NaN, NaN); //=> true