Add Semigroupoid type-class