Re:Exotic Programming Ideas, Part 3: Effect Systems
by AaronFriel on Monday November 23, 2020 @03:08PM
(#25191119)
In Haskell, it's the norm I think to do both: let the compiler infer the type and then add the inferred type to the code. This locks in compatibility.
The only ways I know of to reliably make this kind of change (or just about any nontrivial change) to an interface are increasing version numbers and letting clients suffer or having a monorepo and fixing all the clients yourself