[Apologies, I've been working most of today and am working most of tomorrow. I'll get back with a concrete patch that attempts to answer Martin's questions as soon as I can.]