   init(from syntax: OperatorDeclSyntax) {
     self.syntax = syntax
 
-    let kindModifier = syntax.modifiers?.first { modifier in
-      OperatorKind(rawValue: modifier.name.text) != nil
-    }
-
-    if let kindModifier = kindModifier {
-      kind = OperatorKind(rawValue: kindModifier.name.text)!
-    } else {
-      kind = .infix
-    }
+    kind = syntax.modifiers?.compactMap {
+      OperatorKind(rawValue: $0.name.text)
+    }.first ?? .infix
 
     name = syntax.identifier.text
 

        default:
          break
        }
      }
    }
  }

          self.relations.append(relation)
        }

      // Assignment
      case .precedenceGroupAssignment(let assignment):
        self.assignment = assignment.flag.text == "true"

      // Associativity
      case .precedenceGroupAssociativity(let associativity):
        switch associativity.value.text {
        case "left":
          self.associativity = .left
