   func parseTypedParameterArrowExpr() throws -> TypedParameterArrowExprSyntax {
     let parameters = try parseTypedParameterList()
     guard !parameters.isEmpty else {
-      throw engine.diagnose(.expected("type ascription"), node: currentToken)
+      throw expected("type ascription")
     }
     let arrow = try consume(.arrow)
     let outputExpr = try parseExpr()

    }

    guard !pieces.isEmpty else {
      throw engine.diagnose(.expected(diagType), node: currentToken)
    }
    return pieces
  }

    }

    guard !pieces.isEmpty else {
      throw expected("binding list")
    }

    return BindingListSyntax(elements: pieces)
