This is a follow-up to my previous question
We can define a function that finds an XML node by path (List[String], XmlNode) => Option[XmlNode] as a composition of functions (String, XmlNode) => Option[XmlNode] that get a child node by name.
We use the fact that functions A => M[A], where M is a monad, form a monoid and so we can easily compose them.
Now I wonder whether there are other interesting examples of composing such functions.