fix race condition
add -Wall flag and fix some warnings it reveals
Update dependencies to latest Haskell Platform.
Fix and document strictness / laziness properties.
Better fix for potential race condition involving 'Unique'.
Fix 'Hashable' instance to be present in both implementations.