Start a new item ... 'lappend' will not redefine the interface whenever the template is sourced, but instead extend It ... thus each property is duplicated n-times!
Therefore set is absolutely necessary, here --commutative behavior. 'Set' can't replace lappend, since lappend accepts empty arguments without making a fuss. This is a job for 'lappendunique'.