I haven't had the time to further investigate the fraction between type and value category. For now, I'll just leave here a couple of references (no pun intended):

I guess the key to understand the problem lies in the difference between an identifier and an expression naming that identifier.