Wip sip23 √

@viktorklang The main thing I'm advocating is executable tests that can be used to nail down the EC contract, that's all. I think one of the main issues with `prepare` was that we didn't have fully-worked out and implemented test cases to demonstrate its contract.