diff --git a/parser/parser.go b/parser/parser.go
index 4f8c3bc..e9b1102 100644
--- a/parser/parser.go
+++ b/parser/parser.go
@@ -8,6 +8,8 @@
 	"fmt"
 	"strings"
 
+	"maps"
+
 	"github.com/KorAP/KoralPipe-TermMapper/ast"
 )
 
@@ -23,13 +25,13 @@
 	Match    string          `json:"match,omitempty"`
 	Value    string          `json:"value,omitempty"`
 	// Store any additional fields
-	Extra map[string]interface{} `json:"-"`
+	Extra map[string]any `json:"-"`
 }
 
 // UnmarshalJSON implements the json.Unmarshaler interface
 func (r *rawNode) UnmarshalJSON(data []byte) error {
 	// First unmarshal into a map to capture all fields
-	var raw map[string]interface{}
+	var raw map[string]any
 	if err := json.Unmarshal(data, &raw); err != nil {
 		return err
 	}
@@ -43,7 +45,7 @@
 	*r = rawNode(temp)
 
 	// Store any fields not in the struct in Extra
-	r.Extra = make(map[string]interface{})
+	r.Extra = make(map[string]any)
 	for k, v := range raw {
 		switch k {
 		case "@type", "wrap", "operands", "relation", "foundry", "key", "layer", "match", "value":
@@ -59,7 +61,7 @@
 // MarshalJSON implements the json.Marshaler interface
 func (r rawNode) MarshalJSON() ([]byte, error) {
 	// Create a map with all fields
-	raw := make(map[string]interface{})
+	raw := make(map[string]any)
 
 	// Add the known fields if they're not empty
 	raw["@type"] = r.Type
@@ -89,9 +91,7 @@
 	}
 
 	// Add any extra fields
-	for k, v := range r.Extra {
-		raw[k] = v
-	}
+	maps.Copy(raw, r.Extra)
 
 	return json.Marshal(raw)
 }
@@ -243,8 +243,7 @@
 
 // SerializeToJSON converts an AST node back to JSON
 func SerializeToJSON(node ast.Node) ([]byte, error) {
-	raw := nodeToRaw(node)
-	return json.MarshalIndent(raw, "", "  ")
+	return json.MarshalIndent(nodeToRaw(node), "", "  ")
 }
 
 // nodeToRaw converts an AST node to a raw node for JSON serialization
