It's like this: ref is a massive problem when it finds it's way
into meta.
ref is relatively rare today... so the problem is occasional.
scope on the other hand will be epic compared to ref. If we
infer
scope (which we'll probably need to), chances are, the vast
majority
of functions will involve scope.
We can't have the trouble with ref (read: trouble with 'storage
class') applied to the majority of functions.
I thought most of your problems stem from 'auto ref' and not from
ref? If scope does not affect the overload set, I don't see how
you could get into trouble with meta programming using it. Could
you please clarify?