We'll have to tapdance around it anyhow. I've thought about these things. For example, I think using xmalloc is a terrific simplifier but the fact that it dies on overallocation isn't very good from a library perspective. We could solve this by allowing an embedding application to supply its own callback before dying or something. 

About the asserts: yes, this was basically asserting on user-specified input, and still dying now.  But, if the user tries to do such a thing, (s)he's got bigger things to worry about. Such as which program could possibly open a 16384 petabyte file. Not us, not us.