Make `ExprKind::Closure` a struct variant. Simple refactor since we both need it to introduce additional fields in `ExprKind::Closure`. r? ``@Aaron1011``
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.