禿が考えてたのは、もともとこんな発想だろ
void a(int*);
a(&b);
↓
void a(int&);
a(b);
つまりアドレス演算子を関数側でつけるってこと

既に別の意味といえば & ならビット AND にも使われているわけで
そんなの気にしだしたらきりがない