Understanding Scala 3 infix operator syntax

I find the Scala 3 extension syntax and infix syntax to be surprisingly similar and hence somewhat confusing. Further, I question whether having a specific form of method definition just for infix operators is worth the additional complexity that it brings.

For infix operators, my preferred syntax would be this:

@infix def op(x: S): R                  // ok
@infix def op[T](x: T)(y: S): R      // ok

My supposition is that relatively few infix operators are defined in Scala code, and hence having a specific syntax for defining them isn’t worth making Scala code less regular.

With the examples above, the @infix decorator makes it clear that it is treated as an infix operator, and otherwise it has a regular method definition.