úÎ      fundeps, MPTCs experimentalEdward Kmett <ekmett@gmail.com> Safe-InferedMPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com> Safe-Inferedlower . section = id We'Jd prefer the following non-Haskell 98 type to make parametricity clearer,  but this suffices @ telescope :: (forall b. [Lens (f b) b]) -> Lens (Cofree f a) a   !"#$%&'()*+     !"#$%&'()*+non-portable (fundeps, MPTCs) experimentalEdward Kmett <ekmett@gmail.com> Safe-Infered ,-./0123456   ,-./0123456MPTCs, fundeps provisionalEdward Kmett <ekmett@gmail.com> Safe-Infered  retract . lift = id  retract . liftF = id  789:;<=>?@ABCDEFGHIJKL     789:;<=>?@ABCDEFGHIJKLM      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQfree-2.1Control.Comonad.Cofree.ClassControl.Comonad.CofreeControl.Monad.Free.ClassControl.Monad.Free ComonadCofreeunwrapCofree:<coiterunfoldsection extractLens unwrapLens telescope MonadFreewrapFreePureliftFretractiter$fComonadCofreefTracedT$fComonadCofreefStoreT$fComonadCofreefEnvT$fComonadCofreefIdentityT$fComonadTracedmCofree$fComonadStoresCofree$fComonadEnveCofree $fDataCofree$fTypeableCofree$fTypeable1Cofree$fTraversable1Cofree$fTraversableCofree$fFoldable1Cofree$fFoldableCofree $fOrdCofree $fEqCofree $fReadCofree $fShowCofree$fApplicativeCofree $fApplyCofree$fComonadTransCofree$fComonadCofree$fExtendCofree$fFunctorCofree$fDistributiveCofree$fComonadCofreefCofree$fMonadFreefErrorT$fMonadFreefListT$fMonadFreefIdentityT$fMonadFreefMaybeT$fMonadFreefRWST$fMonadFreefRWST0$fMonadFreefWriterT$fMonadFreefWriterT0$fMonadFreefStateT$fMonadFreefStateT0$fMonadFreefReaderT$fMonadFreefFree$fMonadContFree$fMonadErroreFree$fMonadStatesFree$fMonadReadereFree$fMonadWritereFree$fTraversable1Free$fTraversableFree$fFoldable1Free$fFoldableFree$fMonadTransFree$fMonadPlusFree$fAlternativeFree $fMonadFree $fBindFree$fApplicativeFree $fApplyFree $fFunctorFree $fReadFree $fShowFree $fOrdFree$fEqFree