The purpose of SHAME formlets is to allow composition of forms from pre-made small forms, i.e. formlets. Such pre-made formlets are typically made for metadata schemas and standards. A typical formlet corresponds to a single statement with a given predicate.
If you have a form which is built up via compound formlets, to change something - even something small - is problematic, unless you are allowed to change the responsible formlet itself (i.e. all uses of that formlet will be affected). The only way to avoid this is to make a copy of the relevant formlet and then change the compound to include the copy. If the form you are interested is built up in several stages, this can be very messy.
This is very bad if the common case of using SHAME is to reuse existing compounds and changing some labels and perhaps multiplicity restrictions somewhere.
There is similar metadata in the RDF expression of the form-model and the formlet. Furthermore, there is too little on the level of the FormletConfigurationSet.