Those changes can be automated. That's one good idea for tooling right there. I know Elm's package manager already detects breaking changes that can be caught through the type system, so it sounds like it wouldn't be hard to handle an automated migration that keeps things compiling (by just wrapping inside of a Maybe on call) until you have time to simplify the code.