I'm trying to work out appropriate precedences for operators and pattern synonyms in my brand-new compact-sequences package. I currently have stacks and queues, but I will soon have deques, so let's pretend. For consistency, operators will match pattern synonyms.

(<|), pattern (:<) :: a -> Deque a -> Deque a
(|>), pattern (:>) :: Deque a -> a -> Deque a

:< and :> need to have different precedence to allow things like

  a :< b :< xs :> c :> d

to work nicely, but what numbers should I pick?

I also have cons and snoc functions. Should I give their backticked spellings fixity declarations? If so, with what precedences?