On Saturday, 6 July 2013 at 23:11:26 UTC, Manu wrote:
[..] I feel like it would be a much cleaner solution than any of the others presented in this thread...
I think Artur's solution is the cleanest one because it changes the default behaviour to a more sensible one: it is useful to keep the full type information only if the type isn't implicitly convertible from immutable to mutable and back again... otherwise keeping the full type information along only causes inconvenience.