However, I see that Control.Exception already provides a first class Haskell assertion function:
assert :: Bool -> a -> a
that is turned off automatically when optimizations are turned on, and provides an error containing the filename and line number, which was why I thought the above macros existed and were still in use.