My intuitive reasoning is mostly based on a geometric analogy. I imagine an impl for a concrete type to be point-like, an impl with one type parameter would be a parametric one dimensional line, etc.
Afaik the current system treats point-like impls as more specific than any one-dimensional impl. Is this correct, or are there already exceptions?
If there are no exceptions for 0 vs 1 dimension, then my intuition still is to generalize this to n vs. n+1 dimensional parametric manifolds even if the higher dimensional manifold has more 'structured'.
Could you perhaps point me to a discussion of this topic? I wonder if there are benefits to have the reverse ordering.
PS: Do you think
impl<T, U> From<Option<T>> for Option<U> where T: Into<U> or even
... From<T> ... might become a thing someday (with whatever ordering)? The use case would be generic setter functions for say a field
foo: Option<String> - then
foo(Some("hey")) would all work.