pandora-0.3.8: Pandora/Paradigm/Structure/Interface/Stack.hs
module Pandora.Paradigm.Structure.Interface.Stack where
import Pandora.Paradigm.Structure.Ability.Morphable (Morphable, Morph (Push, Pop))
{- |
> When providing a new instance, you should ensure it satisfies this one law:
> * Idempotency: item @Push x . morph @Pop ≡ identity
-}
class (Morphable Push t, Morphable Pop t) => Stack t where