


Description 
Provides some pliant data types and functions.


Synopsis 

data a :*: b = a :*: b   class Has e s where  inj :: e > s > s  prj :: s > e 
  upd :: Has e s => (e > e) > s > s 


Documentation 


Represents Type level list.
 Constructors   Instances  (MayHave e h, MayHave e t) => MayHave e (:*: h t)  (TyOr x y b, Contains e h x, Contains e t y) => Contains e (:*: h t) b  (Bounded a, Bounded b) => Bounded (:*: a b)  (Eq a, Eq b) => Eq (:*: a b)  (Ord a, Ord b) => Ord (:*: a b)  (Read a, Read b) => Read (:*: a b)  (Show a, Show b) => Show (:*: a b)  (Arbitrary a, Arbitrary b) => Arbitrary (:*: a b)  (CoArbitrary a, CoArbitrary b) => CoArbitrary (:*: a b)  (Monoid a, Monoid b) => Monoid (:*: a b) 




Provides plient function. Holds e == prj (inj e s) for all s and e.
  Methods   Injects a value of type e into s if s contains the type e.
   Projects a value of type e out from s if s contains the type e.

  Instances  (MayHave e s, Contains e s TyTrue) => Has e s 




Updates a value e in s, using given function e > e.


Produced by Haddock version 2.6.0 