isInsideOf (other, strict) {
    if (other.isNull()) return false
    if (other.isContainerSelection()) {
      return other.contains(this, strict)
    }
    if (strict) {
      return (isArrayEqual(this.path, other.path) &&
        this.start.offset > other.start.offset &&
        this.end.offset < other.end.offset)
    } else {
      return (isArrayEqual(this.path, other.path) &&
        this.start.offset >= other.start.offset &&
        this.end.offset <= other.end.offset)
    }
  }
Checks if this selection is inside another one.

@param {Selection} other
@param {Boolean} [strict] true if should check that it is strictly inside the other
@returns {Boolean}