| sbtype conop sbtype { ($2, InfixCon $1 $3) }
satypes :: { [RdrNameBangType] }
: atype satypes { Unbanged $1 : $2 }
| '!' atype satypes { Banged $2 : $3 }
| sbtype conop sbtype { ($2, InfixCon $1 $3) }
satypes :: { [RdrNameBangType] }
: atype satypes { Unbanged $1 : $2 }
| '!' atype satypes { Banged $2 : $3 }