The types are with ucfirst naming convention so that they dont mask the
Either URI or URI::WithBase
Coerces from Str via new in URI.
Coerces from Path::Class::File and Path::Class::Dir via new in URI::file.
Coerces from ScalarRef via new in URI::data.
Coerces from HashRef using URI::FromHash.
A URI whose scheme is data.
Coerces from Str and ScalarRef via new in URI::data.
A URI::file class type.
Has coercions from Str, Path::Class::File and Path::Class::Dir via new in URI::file
It has slightly DWIMier types than the URI classes have due to
implementation details, so the types should be more forgiving when ducktyping
will work anyway (e.g. URI::WithBase does not inherit URI).