Compacts are a new data structure that was illustrated at ICFP 2015.
It is an immutable NF data structure with no outgoing pointers,
which can be serialized and GCed quickly.
Simon Marlow had a preliminary review of this code during the
conference, but the code was not in a fully reviewable state
at the time. This is the cleaned up version.