We've now seen what H/Direct is supposed to provide the programmer with, so how do we actually implement it? The rest of this document presents the design for how COM and Haskell can be integrated (dealing with `conventional' FFIs can be seen as a special case of supporting COM).