úΆ® Safe<=AOT ŠA shade consists of a hidden value and an image of that value. The hidden values are stored in a context and cannot be accessed directly.:Insert a contextual value and its projection into a shade.BHide a boxed value inside a shade with the identity as projection.2The projection of the hidden value (the "shadow").¨Changed the context of a hidden value. The first argument must be universally quantified since no assumptions may be made as to what value is stored inside the shade. M is simply the shadow and source of the neutral element of the stored value. H combines the contexts of two shadows and mappends their stored values.m   f applies f8 to the projected value inside the original context of mŸ. The result is the a shade which becomes the source object in the result. This resut is nested twice inside the same context, and these are joined together. L is the identity projection of the original value stored in a pure context.a   bG combines the contexts of the hidden values and applies the shadow of b value onto the shadow of a.] applies a function to the result of the projected value inside the values original context.        $shade-0.1.0.0-Db4LGkOvqKzHYGdkNuf2g9Control.Monad.ShadeShadeshadehideshadowtransfer $fMonoidShade $fMonadShade$fApplicativeShade$fFunctorShadebaseGHC.Basememptymappend>>=pure<*>fmap