Minor simplification here.  Use bail-blocks instead of nesting, etc.