coerce is:module
Safe coercions between data types.
More in-depth information can be found on the
Roles wiki page
This module defines operations to
coerce the type parameters of
optics to a representationally equal type. For example, if we have
newtype MkInt = MkInt Int
and
l :: Lens' S Int
then
coerceA @Int @MkInt l :: Lens' S MkInt
Safe coercions between data types.
More in-depth information can be found on the
Roles wiki page
Types and functions used for input and result coercion.
This module provides some extra functionality extending the
Data.Coerce module.