data-layer-1.0.4: src/Data/Abstract.hs
module Data.Abstract where
import Control.Lens
type family Abstract a
class HasAbstract a where abstract :: Lens' a (Abstract a)
default abstract :: IsAbstract a => Lens' a (Abstract a)
abstract = abstracted
class IsAbstract a where abstracted :: Iso' a (Abstract a)