The "cork" thing is something that helps constructing scope information by referencing the parent tag. You write something like:
parent_tag = makeTag(...); chlid_tag = makeTag(parent_tag, ...);
and arbitrary nesting of these and it automatically generates scope for you (you also have to statically specify scope separator before). Don't ask me why it's called cork though ;-).
So thinking about it, that means it still only handles named scopes (ie those that have parent tags), still not lexical scopes ie { to }? If so it still seems a lot of code.