change `whicht` to return rather than call `show`

I would argue this is more useful. When run in the repl the returned value will be shown nicely, when run elsewhere the result can be used.