Only parse scheme source once
Fix scripts and test recursion