Optimizing Scopes

 - Split branches of hot methods into smaller methods for easier
   profiling and potentially better JITability.
 - Use hand rolled loop rather than List#foreach

    % rm /tmp/*.class; (for i in {1..1000}; do echo "class A$i(val a: Int, val b: Int)" > sandbox/A$i.scala; done)  > sandbox/test.scala && time prf qbin/scalac -J-Xmx1G -J-XX:MaxPermSize=400M sandbox/A*.scala

    real    0m55.352s
    user    1m30.338s
    sys 0m1.872s