I think it's more like 200 pages of text -- 2kB/page is what I've always worked off.
Type theVar;
if (theFunction(theVar)
{ /*do something with theVar*/ }
theFunction returns true if it set theVar, false otherwise.
The problem is that theVar's visibility extends beyond our interest in it. The ZQ template lets me write this: if (ZQ<Type> theQ = theFunction())
{ /*do something with theQ.Get()*/}
and all of a sudden I don't have to come up with anywhere near as many meaningful names as before.