<div dir="ltr">> <span style="font-size:12.8px">as an exercise, you can try to </span><span style="font-size:12.8px">figure out the implementation</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">.. time is up :-P </span></div><div><span style="font-size:12.8px">Here is an answer for slightly more generic Proxy and f:</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">data Proxy a = Proxy a</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">exProxy::Functor f =></span></div><div><span style="font-size:12.8px">     f (Proxy a) -> f a</span></div><div><span style="font-size:12.8px">exProxy = (un1 <$>)</span></div><div><span style="font-size:12.8px">    where un1 (Proxy a1) = a1</span></div><div><span style="font-size:12.8px"><br></span></div>​</div>