Builtins::Getting_Tag_From_Non_Union()
Usage
This Exception is thrown when a case statement is used on something other than an ADT, for example:
i = 5;
case i of {
A(a) -> putStrLn(a);
| B(b) -> putStrLn(b);
}
In the example, the compiler would catch the error - in practice this error can occur when accessing an uninitialised value, or a value with inconsistent type information due to foreign function calls.