This can surprise newcomers. A drawing package might use option clear as part of a New operation to wipe out any previous work. It is used to interrogate the option database to determine which widget default property assignments have already been made. This might not be the actual color of .b2 at any particular time. In the example above, .b2 cget -background returns red.
Most applications use the option database to manage properties of visual widgets.
However, the coupling between the database and Tk widgets is a loose one. In fact, the database is general-purpose, without any necessary connection to Tk graphics. It's possible to option add arbitrary data, and later retrieve them with option get . Because the option database is willing to accept anything, the Tk processor doesn't complain about misspellings. It simply puts misspelled data in a place they won't be found, or reports them as null.