- Shortcut in Convert::convert if the value is already of the right type, prevents the ConvertAll allocations, and a few branches
- Shortcut in Convert::convert0 if the Converter.fromType() is Object.class, then we don't need an additional ConvertAll<>(fromType) round trip, which is a no-op
- In ConvertAll, delay the calls to wrapper(Class) until they're needed
- In ConvertAll, shortcuts should be ordered as:
- null check
- class equality check
- class assignability check
- wrapper type equality check