module Pandora.Paradigm.Controlflow.Effect.Interpreted (Schematic, Interpreted (..)) where

type family Schematic (c :: (* -> *) -> k) (t :: * -> *) = (r :: (* -> *) -> * -> *) | r -> t

class Interpreted t where
        {-# MINIMAL run #-}
        type Primary t a :: *
        run :: t a -> Primary t a