Regular type aliases are the same as C typedef, C3 typedef creates a distinct type.
Distinct types are type aliases that doesn’t implicitly convert to the aliased type.
typedef inline types can automatically convert to their underlying type and inherit the methods of their underlying type, but otherwise work as distinct types.
By default constants of the underlying type have to be cast to a distinct type, but using the @constinit attribute will allow implicit conversion.