Ah thanks. I had no idea the `App` pattern actually was bidirectional. I had tried the `Con’` pattern but that is only valid for deconstruction. Is there any way to tell in the docs whether a pattern is bidirectional?
> On 12 Feb 2018, at 18:30, Ben Gamari <b...@smart-cactus.org> wrote: > > Development <email@example.com> writes: > >> Hey guys I have a (hopefully quick) question. >> >> With the new `Data.Typeable` and `Data.Reflection` in base 4.10 have we >> really lost the ability for users to compose `TypeRep`’s? >> >> I was using `Data.Typeable` before (mainly `mkTyConApp`). But in the >> new base 4.10 I cannot find any way to achieve the same goal. >> >> I have read the wiki page Typeable and Typeable/BenGamari and neither >> explicitly mentions the removal of `mkTyConApp` and similar >> facilities. In fact the latter mentions potential implementations for >> user constructed type applications twice with `mkTrApp` at the >> beginning of the page and `mkApp` at the end. >> Furthermore the documentation for `Typeable` (and `Reflection`) also >> never mentions the fact that this functionality was removed. >> > > Indeed, as is noted in the changelog for base , mkTyConApp and > friends were removed. mkTyConApp in particular allowed the construction > of ill-kinded type representations so instead of emulating the previous > behavior we rather opted to remove it. > > If you were previously using these interfaces you almost certainly want > to instead use the new type-indexed interface provided by > Type.Reflection. In particular, you can use the App constructor in > place of mkTyConApp. > > Cheers, > > - Ben > > >  https://hackage.haskell.org/package/base-184.108.40.206/changelog _______________________________________________ ghc-devs mailing list firstname.lastname@example.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs