#81 with #84's review fixes merged in; tree unchanged against next. Conflict: crates/idml/src/tests.rs: next's side (#81 carries #83's tests.rs through #84, already merged in 9196a164)
9196a164