<div dir="ltr"><div dir="ltr"><div>Hi, <br></div><div><br></div><div>I was wondering if this function exists somewhere (i'm not attached to the name):</div><div><br></div><div><span style="font-family:monospace,monospace">(<<$>>) :: (Functor f) => (a -> g b) -> f a -> Compose f g b<br>(<<$>>) mkG = Compose . fmap mkG</span><br></div><div><br></div><div>It's handy if you're working with an applicative (e.g Reflex.Dynamic) and want to layer on top a validation type function that returns a different applicative that need composing. So I figure that it must exist somewhere! :)<br></div><div><br></div><div>E.g. <br></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">data Person = Person Text Email<br></span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">nameTextDyn     :: Dynamic t Text<br></span></div><div><span style="font-family:monospace,monospace">emailTextDyn    :: Dynamic t Text</span></div><div><span style="font-family:monospace,monospace">validEmail      :: Text -> Validation (NonEmpty Text) Email</span></div><div><span style="font-family:monospace,monospace"><br></span></div><div><span style="font-family:monospace,monospace">validPersonDyn :: Dynamic t (Validation (NonEmpty Text) Person =</span></div><div><span style="font-family:monospace,monospace">  getCompose $ Person <br></span></div><div><span style="font-family:monospace,monospace">    <$> (pure       <<$>> name)<br></span></div><div><span style="font-family:monospace,monospace">    <*> (validEmail <<$>> emailTextDyn)<br></span></div><div><span style="font-family:monospace,monospace">     <br></span></div><div><span style="font-family:monospace,monospace"><br></span></div>Cheers,<div><span style="font-family:monospace,monospace"><font face="arial,helvetica,sans-serif">Ben</font></span><br></div></div></div>