WIP: start putting a safe, fully typed interface in LVish.hs
Update IVar module with the new types
Move LVarData1 and DeepFreeze classes to the LVish layer and adapt accordingly.
Factor out some types into an Internal module.  I believe the DeepFreeze method is currently unsound wrt the new 's' parameters.
Significant change to DeepFreeze class to make the 's' parametrs match up
WIP: fix up IVar to work with prev changes
WIP: Port Set.hs over to the new types
WIP: fix up Pair and Map.  cabal install works (without tests)
WIP: Almost all unit tests operational, but with liftQs in still
Remove liftQ from unit tests and from SchedIdempotent