Definitely, so much is storage (vars, sessions, DAL results, etc) that you pretty much have to use it.
And for that reason, I think it warrants its own small subsection in the manual. For uses where I don't have to rely on None identifying initialized keys with the None value specifically, I tend to prefer the returning of None behavior on uninitialized keys, but I understand why they had to make the dictionary general purpose enough that they couldn't implement it that way. > I'm of two minds on classes like Storage. In my non-web2py work I stick with > dict, using dict.get and dict.setdefault where appropriate. But web2py has a > lot of Storage objects floating around...