swap and assoc: Symmetric and Semigroupy Bifunctors
