missing semigroupoid instances