GHC supports compile-time toggling of run-time assertions via the
-fignore-asserts flag, which only effects a behavioural change in
Control.Exception.assert. Furthermore the reported location only gives
the use site of the aforementioned, making it difficult to abstract over
and hence cumbersome to use.
This package aims to make assertions more convenient, and also provides
a rule to rewrite assertions to id when -fignore-asserts is used.