printsWhileUntilTail :: (MonadState PrintState m, MonadWriter (Endo String) m)
                     => CommandList -> CommandList -> m ()
printsWhileUntilTail c b = do
  printsIndentedLists c
  printDoGroup b
printsWhileUntilTail :: (MonadState PrintState m, MonadWriter (Endo String) m)
                     => CommandList -> CommandList -> m ()
printsWhileUntilTail c b = do
  printsIndentedLists c
  printDoGroup b
printsWhileUntilTail c b = do
  printsIndentedLists c
  printDoGroup b