in reply to Fun with Typed Objects 1

I had to do some digging, but Larry's Apocalypses, especially Apocalypse Two have the answer, at least as phrased by The Great One in 2001.

To wit:

RFC 218: my Dog $spot Is Just an Assertion I expect that a declaration of the form: my Dog $spot; is merely an assertion that you will not use $spot inconsistently with it being a Dog.

Later, he says that:

This bare declaration does not call a constructor; however, there may be forms of declaration that do.

Of course, they say "The Devil can quote Scripture for his own purposes."