You should be able to implement both bodies as match *self {}.
I'm not sure what makes you think this is the case. In the example above I can just use <Infallible as Value>::as_list to refer to a function that internally returns Option<super!>, then pass that function as parameter to a function that is then able to name the return type and call methods on it, just like it was shown in the other thread.
IMO something similar to it could exist, in that the compiler could generate a dummy implementation for some traits where it can prove that it is safe, possible to write manually, and not possible to call the autogenerated methods.
I don't believe super! should exist as a type though because it would be able to do things that are unsound for any other type, e.g. implementing conflicting traits.
Sidenote: isn't this discussion a duplicate of Should we have another non-type never?, which you even linked to in your first post ? What does it add that it warrants its own discussion?