code: function ( prev, curr ) {
    var c,
        cmax = curr.length;
    var p,
        pmax = prev.length;
    var result = [];
  
    for ( p = 0; p < pmax; p += 1 ) {
      for ( c = 0; c < cmax; c += 1 ) {
        result.push( prev[ p ].concat( curr[ c ] ) );
      }
    }
    return ( result );
  }
docs: Callback function used by `reduce` inside the `product()` function. Follows the standard guidelines of `reduce()` callback function.