module Pandora.Paradigm.Structure.Variation.Substructure (Substructure (..)) where import Pandora.Paradigm.Inventory.Optics (type (:-.)) import Pandora.Paradigm.Primary.Functor.Tagged (Tagged) class Substructure f t where type Output (f :: * -> k) (t :: * -> *) a sub :: t a :-. Tagged f (Output f t a)