import Runes

precedencegroup DecodePrecedence {
  associativity: left
  higherThan: ApplicativeSequencePrecedence
  lowerThan: NilCoalescingPrecedence
}

infix operator <| : DecodePrecedence
infix operator <|? : DecodePrecedence
infix operator <|| : DecodePrecedence
infix operator <||? : DecodePrecedence

import Runes

precedencegroup ArgoDecodePrecedence {
  associativity: left
  higherThan: RunesApplicativeSequencePrecedence
  lowerThan: NilCoalescingPrecedence
}

infix operator <| : ArgoDecodePrecedence
infix operator <|? : ArgoDecodePrecedence
infix operator <|| : ArgoDecodePrecedence
infix operator <||? : ArgoDecodePrecedence

Reduce the risk of conflicts with precedence group
Reduce the risk of conflicts with precedence group

Turns out, these need to be globally unique! Fun stuff. To work around this we
can fall back to our good old friend "Explicit Prefix"! We'll just tack on a
quick package name to the front of this precedence group and voila! No
conflicts!

![photo of a fire in a dumpster which accurately reflects my feelings on this subject](http://languagelog.ldc.upenn.edu/myl/DumpsterFire2.jpg)
