witness-0.7: values that witness types
Safe HaskellNone
LanguageGHC2021

Data.Type.Witness.General.WitnessValue

Documentation

class WitnessValue (w :: k -> Type) where Source #

Associated Types

type WitnessValueType (w :: k -> Type) Source #

Methods

witnessToValue :: forall (t :: k). w t -> WitnessValueType w Source #

valueToWitness :: WitnessValueType w -> (forall (t :: k). w t -> r) -> r Source #

someToValue :: forall k (w :: k -> Type). WitnessValue w => Some w -> WitnessValueType w Source #

valueToSome :: forall k (w :: k -> Type). WitnessValue w => WitnessValueType w -> Some w Source #