digitalmars.D.learn - A detail of the hash protocol

In this page:
http://www.digitalmars.com/d/1.0/arrays.html#associative
regarding the hashing protocol it says that structs need:
uint toHash();
While classes:
hash_t toHash()
Is that a little documentation error? I presume they both have to return an
uint or hash_t or a size_t...
What's the purpose of a separated hash_t type? Can't it be removed, keeping
just an uint or size_t for that purpose?
Thank you, bye,
bearophile

In this page:
http://www.digitalmars.com/d/1.0/arrays.html#associative
regarding the hashing protocol it says that structs need:
uint toHash();
While classes:
hash_t toHash()
Is that a little documentation error? I presume they both have to return an
uint or hash_t or a size_t...
What's the purpose of a separated hash_t type? Can't it be removed, keeping
just an uint or size_t for that purpose?
Thank you, bye,
bearophile

I'm pretty sure it's actually a limitation of DDoc. DDoc always
outputs the base type of an alias instead of the alias name, which
really, _really_ pisses me off. Coincidentally, hash_t is defined as
"alias uint hash_t;", I presume for the potential of having i.e. a
64-bit hash at some point.