We're busy performing a "heart lung and liver transplant" on Hugs (our Haskell compiler). That is, we're rewriting the type system, the code generator and the runtime system. Why are we doing this? What is involved? How did we do it? What problems did we discover along the way? How are we solving them? What cool things will we be able to solve with it? Which is the "heart" and which is the "lung"? Come see the talk and learn the answers.