handles transitive dependencies

- handles prefixes
- handles deftypes
- basically everything works apart from aot compilation for gen classes
- uses first of source-paths