Dear Micheal,

I am not going to try to answer your questions, but I'll provide a pointer to what I think is one possible direction.

http://www.youtube.com/watch?v=bQP4wldPX4c

(as appears in http://www.haskell.org/haskellwiki/HaskellImplementorsWorkshop/2012 - search for "haskell-suite")

Hope this helps,
Ozgur