The problem with the path-dependent solution is that it ruins the pattern matching elsewhere. (I've tried!)