Feedback requested about breakage: type variable binders in datatypes

I’m sensitive to @ketzacoatl’s worries about complexity. It’s hard for me to say whether this proposal improves or worsens the situation. By forcing more things to be explicit, I like to think this proposal aids readability. At the same time, it introduces new features into code that previously lived without them, which means readers get exposed earlier – perhaps a bad thing. My instinct is that this proposal offers a net benefit, but I don’t know this for sure.

I’d also like to say that some of the “reduce barriers to real work” responsibility rests with library authors: nothing is stopping libraries from making Haskell98 (or similar) interfaces, making it easier for clients to use the libraries without learning more complicated topics.

@Tarmean: the kind instantiation must be discovered by looking at the left-hand sides, so both of the examples you write would continue to be accepted. The feature we’re eliminating is allowing the right-hand side to affect the left.

1 Like