       throw unexpectedToken(expected: "expression")
     }
 
-    // Parse optional trailers.
+    // NOTE: Although it wouldn't make the grammar ambiguous otherwise, notice that we require
+    // trailers to start at the same line. The rationale is that it doing otherwise could easily
+    // make some portions of code *look* ambiguous.
     trailer:while true {
-      // Although it wouldn't make the grammar ambiguous otherwise, notice that we require such
-      // call/subscript trailers to start at the same line. The rationale is that it doing
-      // otherwise could easily make some portions of code *look* ambiguous.
       if consume(.leftParen) != nil {
         let args = try parseList(delimitedBy: .rightParen, parsingElementWith: parseCallArg)
 


    case .dot:
      consume()
      let ident = try parseIdentifier()
      expression = SelectExpr(
        ownee: ident,
        module: module,

      // consuming possibly significant new lines.
      let backtrackPosition = streamPosition
      if consume(.dot, afterMany: .newline) != nil {
        guard peek().kind == .identifier || peek().isPrefixOperator || peek().isInfixOperator
          else { throw parseFailure(.expectedMember) }
        let ident = try parseIdentifier(allowOperators: true)

        expression = SelectExpr(
          owner: expression,
          ownee: ident,
