give Records their own size field
wrap the Record builder to compute offsets and size silently
use the new Record wrapper
use clear! over init! just to be safe
rewrite to work with the ->RecordType wrapper

Ranges should really have their own type just like enums but I'm gonna
leave this here for now and mark it as a TODO item.