module ProAbstract.Metadata.HasMetadata ( HasMetadata (..), Metadata ) where import ProAbstract.Metadata.MetadataType (Metadata) class HasMetadata x where type MetadataOpticKind x metadata :: Optic' (MetadataOpticKind x) NoIx x Metadata instance HasMetadata Metadata where type MetadataOpticKind Metadata = An_Iso metadata :: Optic' (MetadataOpticKind Metadata) NoIx Metadata Metadata metadata = Optic An_Iso NoIx Metadata Metadata Metadata Metadata -> Optic An_Iso NoIx Metadata Metadata Metadata Metadata forall destKind srcKind (is :: IxList) s t a b. Is srcKind destKind => Optic srcKind is s t a b -> Optic destKind is s t a b castOptic Optic An_Iso NoIx Metadata Metadata Metadata Metadata forall a. Iso' a a simple