fix #5906

infinite type chain via field instantiation

also a better fix for #5884
Merge branch 'master' of github.com:JuliaLang/julia