<div dir="ltr"><div>In <a href="https://github.com/haskell/containers/issues/647">https://github.com/haskell/containers/issues/647</a> I proposed the following util:<br></div><div><br></div><div>composition :: Ord b => Map b c -> Map a b -> Map a c<br>composition bc ab = flip mapMaybe ab $ flip lookup bc<br><br>Which has O(|ab| * log |bc|) performance. It's not particularly hard to write, but it does feel like a primitive-ish operation, and it's not obvious to me whether there's a faster implementation.</div><div><br></div><div>Other name suggestions</div><div>- (.)</div><div>- chain</div><div>- compose</div><div><br></div><div><br></div></div>