diff --git a/Text/Digestive/HSP/Html4.hs b/Text/Digestive/HSP/Html4.hs
--- a/Text/Digestive/HSP/Html4.hs
+++ b/Text/Digestive/HSP/Html4.hs
@@ -4,7 +4,7 @@
 
 import Control.Applicative             ((<$>))
 import Data.Maybe                      (fromMaybe)
-import Data.Monoid                     (Monoid(mempty))
+import Data.Monoid                     (Monoid(mempty), mconcat)
 import Data.Text                       (Text)
 import qualified Data.Text             as Text
 import HSP                             (XMLGenerator, XMLGenT, EmbedAsChild(..), EmbedAsAttr(..), Attr(..), genElement, genEElement, set)
@@ -15,7 +15,7 @@
 
 
 showFormId :: FormId -> String
-showFormId (FormId p i) = p ++ show i
+showFormId id' = show id'
 
 inputString :: (Monad m, Functor m, XMLGenerator x, FormInput i f)
           => Maybe String
@@ -85,7 +85,6 @@
         [ <input type="radio" name=(showFormId group') id=id' value=id' />
         , <label for=id'><% fromMaybe mempty $ lookup val choices %></label>
         ] ++ if br then [<br />] else []
-
 submit :: (Monad m, Functor m, XMLGenerator x, FormInput i f)
           => String
           -> Form m i e [XMLGenT x (HSX.XML x)] String
@@ -93,6 +92,8 @@
     Forms.inputString (\id' inp ->
         [<input type="submit" name=(showFormId id') id=(showFormId id') value=(fromMaybe "" inp) />]) (Just v)
 
+
+
 label :: (Monad m, XMLGenerator x, EmbedAsChild x c, EmbedAsAttr x (Attr String String))
       => c
       -> Form m i e [XMLGenT x (HSX.XML x)] ()
@@ -100,7 +101,7 @@
     Common.label $ \id' ->
         [<label for=(showFormId id')><% string %></label>]
 
-errorList :: (XMLGenerator x, EmbedAsChild x c) => [c] -> [XMLGenT x (HSX.XML x)]
+errorList :: (XMLGenerator x, EmbedAsChild x c, EmbedAsChild x [HSX.XML x]) => [c] -> [XMLGenT x (HSX.XML x)]
 errorList [] = []
 errorList children =
     [<ul>
@@ -108,11 +109,11 @@
      </ul>
     ]
 
-errors :: (Monad m, XMLGenerator x) => 
+errors :: (Monad m, XMLGenerator x, EmbedAsChild x [HSX.XML x]) => 
           Form m i String [XMLGenT x (HSX.XML x)] ()
 errors = Common.errors errorList
 
-childErrors :: (Monad m, XMLGenerator x) => 
+childErrors :: (Monad m, XMLGenerator x, EmbedAsChild x [HSX.XML x]) => 
                Form m i String [XMLGenT x (HSX.XML x)] ()
 childErrors = Common.childErrors errorList
 
diff --git a/digestive-functors-hsp.cabal b/digestive-functors-hsp.cabal
--- a/digestive-functors-hsp.cabal
+++ b/digestive-functors-hsp.cabal
@@ -1,5 +1,5 @@
 Name:                digestive-functors-hsp
-Version:             0.2
+Version:             0.2.1
 Synopsis:            HSP support for digestive-functors
 Description:         This is an HSP frontend for the digestive-functors library.
 Homepage:            http://src.seereason.com/digestive-functors-hsp
