The hashtable needs to be been created in IO, after that, think of the
'hashtable' as a analogous to a file handle. You have to pass it
around to do anything with it - but the only things you can do with it
are in IO.
The appropriate pure package to be using instead is unordered-containers.