A Direct Port of the BlazeHTML API for Haskell