I am posting this on behalf of Georgios Karachalias so that this patch has some
representation on Phabricator.
This is a rewrite of the pattern-match exhaustiveness checker which, among
other things, substantially improves detection of redundant patterns in matches
and Georgios' paper *GADTs meet their match*