implement several new mutations
reimplement skeletonisation with mutations;
stage 1: using directives;
stage 2: global attributes
reimplement skeletonisation with mutations;
stage 3: namespace members