Operator traits
We can use "equiv", "tighter", and "looser" to specify precedence levels relative to operators we've already defined:
proto infix:+ is precedence('=') { ... }
proto infix:- is equiv('infix:+') { ... }
proto infix:&& is looser('infix:+') { ... }
proto infix:|| is looser('infix:&&') { ... }
proto infix:* is tighter('infix:+') { ... }
proto infix:/ is equiv('infix:*') { ... }
proto infix:% is equiv('infix:*') { ... }
proto prefix:- is tighter('infix:*') { ... }
proto prefix:+ is equiv('prefix:-') { ... }
proto infix:** is tighter('prefix:-') { ... }