Show any value
This shows any value, as long as it's not unlifted. The result should
be equal to show instances, with the following caveats:
- User-defined types (types not explicitly known to this library)
with a custom Show instance will still be showable, but the
result will be what the derived show instance would have
done.
- Record field names are not known at runtime, so they are not
shown.
- UNPACKed data is not visible to this library (if you compile with
-O0 ghc will not unpack data, so that might be a
workaround if necessary).
If classification fails, we show the actual closure.