Just to correct a minor false assumption. Structs (whatever data structure you call this way, "struct" is not a Perl concept) are not constant by default in Perl. But objects constucted with MooX may be defined with ro or rw property and, although I am not using MooX, I guess that they are probably defaulted to ro.