         tokenInitializerName = String(tokenKindStr[..<tokenKindStr.firstIndex(of: "(")!])
         requiresExplicitText = true
       }
-      return FunctionCallExpr(calledExpression: MemberAccessExpr(name: tokenInitializerName)) {
+      return FunctionCallExpr(callee: ".\(tokenInitializerName)") {
         if requiresExplicitText {
           TupleExprElement(
             expression: StringLiteralExpr(content: token.text)

        }
      }
    } else {
      return FunctionCallExpr(calledExpression: IdentifierExpr(String("\(type(of: self))"))) {
        for child in mirror.children {
          let label = child.label!
          let value = child.value as! SyntaxProtocol?

    let (label, value) = Mirror(reflecting: self).children.first!
    switch value {
    case let value as String:
      return FunctionCallExpr(callee: ".\(label!)") {
        TupleExprElement(expression: StringLiteralExpr(content: value))
      }
    case let value as Int:
      return FunctionCallExpr(callee: ".\(label!)") {
        TupleExprElement(expression: IntegerLiteralExpr(value))
      }
    default:
