'<-' { ITlarrow }
'->' { ITrarrow }
'@' { ITat }
+ '~' { ITtilde }
'=>' { ITdarrow }
'-' { ITminus }
'!' { ITbang }
activation :: { Activation }
activation : {- empty -} { AlwaysActive }
| '[' INTEGER ']' { ActiveAfter (fromInteger $2) }
+ | '[' '~' INTEGER ']' { ActiveBefore (fromInteger $3) }
rule_forall :: { [UfBinder RdrName] }
rule_forall : '__forall' '{' core_bndrs '}' { $3 }