Merge branch 'master' into working
Fix inferencer for class return types
Merge branch 'working'
Merge remote-tracking branch 'upstream/master'