Nobody proposed (or expected!) to ever have function signatures for references of references of arrays of int in C either. Y'know it all looked so neat an simple with int foo; and char* bar and real baz[10], except that, well, life was not so simple. Even in the horribly restricted "type system" of C.
What is the difference between a pointer and a reference again? Not much really. A reference must point to something. You can't "typecast" a reference to look at the same memory as if it was a totally different thing. You can't increment a reference to get "the next thing of the same type in memory". And you can't construct a reference out of an integer, an address. None of this is in any way related to function signatures (I don't like that term at all.) or variable types. The optionality of type specifications would make it possible to stop trying to circumvent the misdesigned notation and just leave it untyped. Which would IMHO be a shame.