e7529d6a38
Replace use of `ty()` on term and use it in more places. This will allow more flexibility in the future, but slightly worried it allows items which are consts which only accept types.
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.