Skip to content

Instantly share code, notes, and snippets.

{-# LANGUAGE DeriveFunctor, TemplateHaskell, FlexibleContexts #-}
module Main where
import Control.Monad.Free (MonadFree, Free (Free, Pure), liftF)
import Control.Monad.Free.TH (makeFree)
import Control.Monad (void, forM_)
data Cmd m k
= Output m k