Stephen Compall suggests that instead of returning `Ev` that the `imp` method should return `Ev with ev.type` to avoid losing refinements.