Wip sip23 √

The fundamental point here is that there's nothing in the type of EC which bears witness to these semantics; rather, it's embedded in the specifics of how the EC is embedded (`def` vs. `val`). That seems extremely brittle to me -- an unsuspecting user or library developer is given plenty of rope with which to hang themselves. (As I think my example illustrates.)