loadIO :: FilePath
       -> Splices (I.Splice IO)
       -> Splices (I.Splice IO)
       -> Splices (C.Splice IO)
       -> Splices (AttrSplice IO)
       -> IO (Either [String] (HeistState IO))
loadIO baseDir a b c d = runEitherT $ do
    let sc = SpliceConfig (defaultInterpretedSplices >> a)
                          (defaultLoadTimeSplices >> b) c d
                          [loadTemplates baseDir]
    initHeist $ HeistConfig sc "" False


------------------------------------------------------------------------------
loadIO :: FilePath
       -> Splices (I.Splice IO)
       -> Splices (I.Splice IO)
       -> Splices (C.Splice IO)
       -> Splices (AttrSplice IO)
       -> IO (Either [String] (HeistState IO))
loadIO baseDir a b c d = runEitherT $ do
    let sc = SpliceConfig (defaultInterpretedSplices >> a)
                          (defaultLoadTimeSplices >> b) c d
                          [loadTemplates baseDir]
    initHeist $ HeistConfig sc "" False


------------------------------------------------------------------------------
loadIO baseDir a b c d = runEitherT $ do
    let sc = SpliceConfig (defaultInterpretedSplices >> a)
                          (defaultLoadTimeSplices >> b) c d
                          [loadTemplates baseDir]
    initHeist $ HeistConfig sc "" False


------------------------------------------------------------------------------