start of type analysis code
start environment refactoring for dependencies
more Environment refactoring
refactor further
extra test for def with local bindings
extra validation
Better Java class for intersection types
Better getJavaClass for Union types