code: function(list_binding_getter, list_binding_setter, list_binding_init_value) {
  		return function(elements) { // The first argument is a list of elements
  			var args = slice.call(arguments, 1), // and the rest are values
  				val = cjs(function() { // Create a constraint so that the binding knows of any changes
  					return list_binding_getter(args);
  				});
  
  			var binding = new Binding({
  				targets: elements,
  				getter: bind(val.get, val), // use the constraint's value as the getter
  				setter: list_binding_setter,
  				init_val: list_binding_init_value,
  				coreDestroy: function() {
  					val.destroy(); // Clean up the constraint when we are done
  				}
  			});
  			return binding;
  		};
  	}
docs: Creates a type of binding that accepts any number of arguments and then sets an attribute's value to depend on every element that was passed in