I notice (an undocumented) change in elm 0.19 is to disallow the exposure of a subset of custom type constructors in a module.
I hope I have misunderstood this, or there is a workaround, but on the face of it this seems like a real killer to me as I make very extensive use of partially exposed custom types. I did this, following advice on this board, in order to avoid major version bumps if I needed to add new constructors to an existing custom type (I simply hide the new constructor and create an exposed function that generates the type with that hidden constructor).
Is there a way round this to partially expose type constructors without making a major API change? (I could hide all existing constructors and add a new function for each, but this would be a very major change to the package API and is likely to annoy users of my published modules).
What is the rationale for this restriction?
I love most of the changes in 0.19 and appreciate the effort that has gone into this over the last couple of years, but this particular change has really caught me by surprise (were there any indicators this was coming?) and risks causing major problems if I can’t find a workaround that doesn’t impact the package API to such a major extent.