Parts of the code are very clearly inspired/copied from Haskell's `semigroupoids`, by @ekmett. Here is its license: https://github.com/ekmett/semigroupoids/blob/master/LICENSE It is probably worth mentioning this in the license for this repo.