Enums

See simplify_type

Generic parameters are pretty much just bound variables, e.g. the type of fn foo<'a, T>(x: &'a T) -> u32 { ... } can be thought of as for<'a, T> fn(&'a T) -> u32.

Functions

Tries to simplify a type by only returning the outermost injective¹ layer, if one exists.

Type Definitions