Yeah, I checked the bytecode also.  One could also get rid of `tlGen` entirely by doing an `instanceof` to tell whether we were storing the generator of the value or the value itself, but this doesn't save any space at least on the Oracle JVM (object size increases 2, 4, ... Object fields.  1==0, 3==2, etc.