-- | Shows the current hereDoc and clears it.
printHereDoc :: (MonadState PrintState m, MonadWriter (Endo String) m) => m ()
printHereDoc = state (\(PrintState i h) -> (Endo h, PrintState i id)) >>= tell
printHereDoc :: (MonadState PrintState m, MonadWriter (Endo String) m) => m ()
printHereDoc = state (\(PrintState i h) -> (Endo h, PrintState i id)) >>= tell
printHereDoc = state (\(PrintState i h) -> (Endo h, PrintState i id)) >>= tell