Thanks @aengelberg and @ghaskins, actually my insta/parse was working as expected (prioritizing the correct version) but insta/parses is still showing more than one possibility, though I guess that this might prevent cases where the first parse is not the one I want right?
Ah, yes, ordered choice still gives you all the possible parses. If you want it to be unambiguous, try a negative look ahead.
op-degrade = (<'?'> degrade-amount) | <'?'> !degrade-amountThanks, that works great!
I believe I was missusing the negative look ahead syntax. I appreciate the example!