whole_func_string: function(map) {
        var arr = map ? this.map(map) : this;
        return arr.length > 0 ? arr.reduce(function(a,b) { return a + b; }) : 0;
      }
func_code_string: function(map) {
        var arr = map ? this.map(map) : this;
        return arr.length > 0 ? arr.reduce(function(a,b) { return a + b; }) : 0;
      }
func_documentation_string: *
  @method sum([map])
  @returns Number
  @short Sums all values in the array.
  @extra [map] may be a function mapping the value to be summed or a string acting as a shortcut.
  @example
  
  [1,2,2].sum()                           -> 5
  +   [{age:35},{age:12},{age:12}].sum(function(n) {
  return n.age;
  });                                     -> 59
  [{age:35},{age:12},{age:12}].sum('age') -> 59
  
  *