docs: function createMatrixFcn( d ) {
  	var len = d.length,
  		n = len - 1,
  		fcn,
  		i;
  
  	// Code generation. Create the variables...
  	fcn = 'var o=[];var ';
  	for ( i = 0; i < len; i++ ) {
  		fcn += 'i' + i;
  		if ( i < n ) {
  			fcn += ',';
  		} else {
  			fcn += ';';
  		}
  	}
  	// Create the nested for loops...
  	for ( i = 0; i < len; i++ ) {
  		fcn += 'for(i' + i + '=0;i' + i + '<' + d[ i ] + ';i' + i + '++){';
  	}
  	// Create the code which accesses the nested array values and pushes them onto the flattened array.
  	fcn += 'o.push(x';
  	for ( i = 0; i < len; i++ ) {
  		fcn += '[i' + i + ']';
  	}
  	fcn += ');';
  
  	// Tidy up:
  	for ( i = 0; i < len; i++ ) {
  		fcn += '}';
  	}
  	fcn += 'return o;';
  
  	// Create a new function:
  	return new Function( 'x', fcn );
  }