Merge branch 'master' into working
Fix inferencer for class return types
Merge branch 'working'