Proposal: Amend or patterns (#522) to use p1 ; p2 (#609)
Author: Sebastian Graf, David Knothe
Rendered proposal: https://github.com/ghc-proposals/ghc-proposals/blob/eb4b67c29282520b2c5c6a49c3047dbecb15dde1/proposals/0522-or-patterns.rst
Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/609
Recommendation: Acceptance

## Summary

This proposal refines the syntax of an already accpted proposal (#522) for writing or patterns.

The syntax of the old proposal,

```haskell
stringOfT :: T -> Maybe String
stringOfT (T1 s) = Just s
stringOfT (one of T2{}, T3{}) = Nothing
```

is replaced with

```haskell
stringOfT :: T -> Maybe String
stringOfT (T1 s) = Just s
stringOfT (T2{}; T3{}) = Nothing
```

or indeed

```haskell
stringOfT :: T -> Maybe String
stringOfT x = case x of
T1 s -> Just s
T2{}
T3{} -> Nothing
```

(Beacuse the '(' ... ')' are optional here, we can remove them and naturally exploit layout.)

The authors have conducted polls to see what folks preferred, landing on this proposal. The
adjustments to the Haskell grammar are really quite minimal requiring one extra production.

## Recommendation

The proposal is nondiruptive and as a whole addresses an important practical topic. I recommend
that we accept it