src/util.js
function smash(a, ...rest) {
    rest.forEach(b => {
        if (this.isSmashable(a, b)) // find a way to move isSmashable internal
            this._smash(a, b);
    });
    return a;
}
function smash(a, ...rest) {
    rest.forEach(b => {
        if (this.isSmashable(a, b)) // find a way to move isSmashable internal
            this._smash(a, b);
    });
    return a;
}
function smash ( a , ... rest ) { rest . forEach ( b => { if ( this . isSmashable ( a , b ) ) // find a way to move isSmashable internal
 this . _smash ( a , b ) ; } ) ; return a ; }
Smashes the properties on the provided arguments into the first argument.
Any properties on the tail arguments will overwrite
any existing properties on the first argument.

@param {any} a The target to be smashed.
@param {...any} rest The tail items to smash onto the target.
@returns {any} A reference to the smashed target.
Smashes the properties on the provided arguments into the first argument . Any properties on the tail arguments will overwrite any existing properties on the first argument .