Description
As I was setting A3 for my course using PLFA, one of the exercise was:
Prove the following:
⊎-comm : ∀ {A B : Set} → (A ⊎ B) ↔ (B ⊎ A)
where _⊎_
is from Data.Sum.Base
and declared infixr 1 _⊎_
and _↔_
is from Function.Bundles
and declared infix 3 _↔_
. The first is as per README.Design.Fixity
but the second doesn't correspond to anything in there.
The problem, of course, is that this leads to needing parens where there really shouldn't be a need for them. The same holds for all the rest of the combinators in Function.Bundles
.
Unsurprisingly, PLFA defines all of these combinators to be at level 0 instead.
We should change these. Level 0 seems right. Yes, strictly speaking, this would be a 'breaking' change. Except that I don't think it would break any existing code is current code would have had to put in parentheses (unless they were doing something extremely weird with unions or products of equivalences).