Data.Semigroupoid