Renamed @Functional to @FirstClass
Restructured compiler internals