code: function processCompositionExpressions( composition, item, itemPointer, containingPageRef ) {
  
        const { name, definition } = composition;
  
        // Feature definitions in compositions may contain generated topics for default resource names or action
        // topics. As such these are generated before instantiating the composition's features.
        const ref = item.composition;
        const validate = validators.features.pages[ name ];
  
        if( validate && !validate( item, `${itemPointer}` ) ) {
           throw validators.error(
              `Validation of page ${containingPageRef} failed for ${ref} features`,
              validate.errors
           );
        }
  
        if( typeof definition.mergedFeatures === 'object' ) {
           const mergedFeatures = interpolator.interpolate( item, definition.mergedFeatures );
           Object.keys( mergedFeatures ).forEach( featurePath => {
              const currentValue = path( item.features, featurePath, [] );
              const values = mergedFeatures[ featurePath ];
              setPath( item.features, featurePath, values.concat( currentValue ) );
           } );
        }
  
        definition.areas = interpolator.interpolate( item, definition.areas );
  
        return composition;
  
     }
docs: /////////////////////////////////////////////////////////////////////////////////////////////////////////