wayneseymour/monoid-res
functions form a monoid under composition -- https://medium.com/@michelestieven/a-monad-is-just-a-monoid-a02bd2524f66
functions form a monoid under composition -- https://medium.com/@michelestieven/a-monad-is-just-a-monoid-a02bd2524f66