Preserve scope in let/do, allow deep defs