Dear Committee,
This proposal looks good to me. The author has done a lot of work to formalize the new rules, and has done a check that no packages using arrow syntax would be broken by this modification. Thus, I recommend we accept this proposal.
Apart from the general discussion, I think it might be worth focusing on a specific part of the design: the use of a couple of type families to express "arrow stacks". I am not aware of other GHC extensions depending on particular type families.
- As the author discusses, these type families ought to be wired-in, so they can benefit from improvement during type checking. Is this a good choice? It looks to be, but other may have a different opinion.
- Would this type family pose a problem for optimization / specialization / ...?
Kind regards,
Alejandro