code: function isStartAccess (memberExpression) {
        if (isRangeAccess(memberExpression) && memberExpression.parent.type === 'MemberExpression') {
          return isStartAccess(memberExpression.parent);
        }
        return (
          (memberExpression.property.type === 'Identifier' && memberExpression.property.name === 'start') ||
          (
            memberExpression.computed && memberExpression.property.type === 'Literal' && memberExpression.property.value === 0 &&
            isRangeAccess(memberExpression.object)
          )
        );
      }
docs: Determines whether a MemberExpression accesses the `start` property (either `.range[0]` or `.start`).
  Note that this will also work correctly if the `.range` MemberExpression is passed.
  @param {ASTNode} memberExpression The MemberExpression node to check
  @returns {boolean} `true` if this node accesses either `.range[0]` or `.start`