Rollup merge of #25900 - lorenzb:more_about_types, r=nikomatsakis
Rollup merge of #25900 - lorenzb:more_about_types, r=nikomatsakis

My main sources of information are [RFC401](https://github.com/rust-lang/rfcs/blob/master/text/0401-coercions.md), the rust IRC channel, and a bunch of experiments to figure out what `rustc` currently supports.
Note that the RFC calls for some coercion behaviour that is not implemented yet (see #18469).
The documentation in this PR mostly covers current behaviour of rust and doesn't document the future behaviour. I haven't written about receiver expression coercion.

I would be happy to rewrite/adapt the PR according to feedback.

r? @steveklabnik

robertg/rust,krzysz00/rust,vhbit/rust,reem/rust,GBGamer/rust,pelmers/rust,reem/rust,l0kod/rust,zubron/rust,dwillmer/rust,pelmers/rust,aepsil0n/rust,vhbit/rust,nwin/rust,graydon/rust,jroesch/rust,mihneadb/rust,dwillmer/rust,reem/rust,aidancully/rust,jroesch/rust,GBGamer/rust,GBGamer/rust,KokaKiwi/rust,zubron/rust,jashank/rust,nwin/rust,KokaKiwi/rust,pshc/rust,aneeshusa/rust,krzysz00/rust,mvdnes/rust,TheNeikos/rust,aepsil0n/rust,l0kod/rust,zachwick/rust,robertg/rust,aneeshusa/rust,robertg/rust,pshc/rust,pshc/rust,jashank/rust,aneeshusa/rust,omasanori/rust,krzysz00/rust,vhbit/rust,aneeshusa/rust,zubron/rust,mvdnes/rust,jashank/rust,zachwick/rust,dwillmer/rust,vhbit/rust,aepsil0n/rust,KokaKiwi/rust,TheNeikos/rust,pelmers/rust,l0kod/rust,dwillmer/rust,dwillmer/rust,aidancully/rust,pshc/rust,GBGamer/rust,jroesch/rust,krzysz00/rust,vhbit/rust,zubron/rust,reem/rust,jashank/rust,jroesch/rust,l0kod/rust,aidancully/rust,zubron/rust,l0kod/rust,GBGamer/rust,l0kod/rust,pshc/rust,TheNeikos/rust,mihneadb/rust,pelmers/rust,aidancully/rust,KokaKiwi/rust,zachwick/rust,TheNeikos/rust,dwillmer/rust,TheNeikos/rust,graydon/rust,graydon/rust,graydon/rust,mvdnes/rust,mihneadb/rust,graydon/rust,nwin/rust,mvdnes/rust,TheNeikos/rust,krzysz00/rust,pshc/rust,GBGamer/rust,jashank/rust,jroesch/rust,zubron/rust,robertg/rust,aepsil0n/rust,aidancully/rust,dwillmer/rust,aidancully/rust,nwin/rust,pshc/rust,nwin/rust,zachwick/rust,jashank/rust,mihneadb/rust,l0kod/rust,aneeshusa/rust,aneeshusa/rust,jroesch/rust,GBGamer/rust,l0kod/rust,vhbit/rust,vhbit/rust,jroesch/rust,KokaKiwi/rust,jashank/rust,mihneadb/rust,mihneadb/rust,zachwick/rust,vhbit/rust,GBGamer/rust,aepsil0n/rust,omasanori/rust,zubron/rust,mvdnes/rust,pelmers/rust,robertg/rust,aepsil0n/rust,zubron/rust,nwin/rust,KokaKiwi/rust,jroesch/rust,omasanori/rust,reem/rust,zachwick/rust,jashank/rust,mvdnes/rust,reem/rust,graydon/rust,nwin/rust,nwin/rust,krzysz00/rust,robertg/rust,omasanori/rust,pshc/rust,omasanori/rust,dwillmer/rust,pelmers/rust,omasanori/rust