Allow one type signature for multiple pattern synonyms
There's no reason why we shouldn't allow the same type signature for multiple pattern synonyms just like ordinary functions.
For example,
pattern A,B,C,D :: Int
pattern A = 5
pattern B = 6
pattern C = 7
pattern D = 8