GHCのPatternSynonyms拡張を初めて触ってみたのだけれど、ガードの構文とかはなくて、ちょっと複雑なことをしたい時には、関数を作って、それをViewPatterns拡張を使ってパターンに押しこむという感じで良いのかな?

例えば、 https://gist.github.com/msakai/fda6520d46e3e622742f のように。