The first assumption is correct, the second is not - you can add attributes dynamically to an installation.
The second issue should probably be dealt with in conjuction with daveb and others working on dynamic types and the Tcl object type definition API...