Add missing `CanCastTo` instances
Clarification and motivation
Explicitly permitted coercions seem to work well (in my opinion), but it lacks many necessary instances.
- For primitives like
- For tuples;
- For named things;
Also let's clarify description of
CanCastTo - use cases for it, when defining such an instance is valid and alternatives to it.
- All necessary instances are added.
- Description of
CanCastTotypeclass is improved.