equals (other) {
      return other
        ? this.type === other.type && deepStrictEqual(this, other)
        : false
    }
Deep compare this node with another node.
@param {Node} other
@return {boolean} Returns true when both nodes are of the same type and
                  contain the same values (as do their childs)