testModule
  :: String
  -- ^ Name to use for module
  -> [(Meta, Qual)]
  -> String
testModule name ls = topComments ++ rest
  where
    rest =  concat . intersperse "\n" $
      [ "module" <+> name <+> "where\n"
      , "import Quickpull"
      , imports . map (modDesc . fst) $ ls
      , unlines
        [ "decrees :: [Decree]"
        , "decrees ="
        ]
      , metaQuals ls
      ]
testModule
  :: String
  -- ^ Name to use for module
  -> [(Meta, Qual)]
  -> String
testModule name ls = topComments ++ rest
  where
    rest =  concat . intersperse "\n" $
      [ "module" <+> name <+> "where\n"
      , "import Quickpull"
      , imports . map (modDesc . fst) $ ls
      , unlines
        [ "decrees :: [Decree]"
        , "decrees ="
        ]
      , metaQuals ls
      ]
testModule name ls = topComments ++ rest
  where
    rest =  concat . intersperse "\n" $
      [ "module" <+> name <+> "where\n"
      , "import Quickpull"
      , imports . map (modDesc . fst) $ ls
      , unlines
        [ "decrees :: [Decree]"
        , "decrees ="
        ]
      , metaQuals ls
      ]