<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">maybe :: forall (r :: RuntimeRep) (a :: *) (b :: TYPE r). b -> (a -> b) -> Maybe a -> b<br></blockquote><div><br></div><div>`b` also is a type of an argument in that function, so I think being levity polymorphic on it in is excluded by "GC going haywire chasing values as if they were pointers" as described here: <a href="https://mail.haskell.org/pipermail/ghc-devs/2016-February/011269.html">https://mail.haskell.org/pipermail/ghc-devs/2016-February/011269.html</a></div><div><br></div><div>Best regards,</div><div>Marcin Mrotek</div></div><br></div></div>