fromXMLM :: (Monad m, XmlPickler a) => String -> m a
fromXMLM text = case runLA (removeAllWhiteSpace . xread) text of
  []    -> fail "Failed to parse XML in fromXMLM."
  [x]   -> either fail return $ unpickleDoc' xpickle x
  (_:_) -> fail "Multiple parses in fromXMLM."
fromXMLM :: (Monad m, XmlPickler a) => String -> m a
fromXMLM text = case runLA (removeAllWhiteSpace . xread) text of
  []    -> fail "Failed to parse XML in fromXMLM."
  [x]   -> either fail return $ unpickleDoc' xpickle x
  (_:_) -> fail "Multiple parses in fromXMLM."
fromXMLM text = case runLA (removeAllWhiteSpace . xread) text of
  []    -> fail "Failed to parse XML in fromXMLM."
  [x]   -> either fail return $ unpickleDoc' xpickle x
  (_:_) -> fail "Multiple parses in fromXMLM."