text: exports.init = function(runtime) {
      runtime.register({
          map_merge: function(map1, map2) {
              var ret = new Fashion.Map(map1 && map1.items);
  
              if (map2) {
                  for (var items = map2.items, i = 0; i < items.length; i += 2) {
                      ret.put(items[i], items[i + 1]);
                  }
              }
  
              return ret;
          },
  
          /**
           * Inspects the arguments in current scope, filters them down to only the ones
           * supported by a pair of mixins, and returns the result as a fashion map.
           * 
           * @param mixinName1
           * @param mixinName2
           * @returns {Fashion.Map}
           * @private
           */
          intersect_arguments: function(mixinName1, mixinName2) {
              var r = runtime;
  
              mixinName1 = mixinName1.value.replace(/-/g, '_');
              mixinName2 = mixinName2.value.replace(/-/g, '_');
  
              var preprocessor = runtime.context.preprocessor,
                  currentScopeArgs = runtime._currentScope.map,
                  mixin1 = preprocessor.mixinDeclarations[mixinName1],
                  mixin2 = preprocessor.mixinDeclarations[mixinName2],
                  supportedArgs1 = {},
                  supportedArgs2 = {},
                  args = new Fashion.Map,
                  name, translatedName;
  
              mixin1.parameters.forEach(function(param) {
                  supportedArgs1[param.name] = 1;
              });
  
              mixin2.parameters.forEach(function(param) {
                  supportedArgs2[param.name] = 1;
              });
  
              for (name in currentScopeArgs) {
                  translatedName = name.replace(/_/g, '-');
  
                  if (supportedArgs1[translatedName] && supportedArgs2[translatedName]) {
                      args.put(runtime.box(translatedName.substr(1)), currentScopeArgs[name]);
                  }
              }
  
              return args;
          }
      });
  };
  