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


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


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


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