
Hello, Recently, I was a bit suprised that GHC didn't warn about useless `where` definitions such as the following when using `-Wall` (and I couldn't find a respective warning GHC CLI flag which would have enabled reporting a warning in this case -- unless I missed it) module Foo where foo :: Int -> Int foo n = n + 1 where Nothing = Just n ...wouldn't it be a sensible thing for GHC to warn in such cases (i.e. when the LHS of a pattern binding is a nullary constructor), or is there a useful application for this construct? (In my original case, I ended up with such a "dead" construct after some "unsound" code refactoring, and it would have helped me catch my error earlier, if GHC would have pointed out that somethings fishy with my code)