code: function foldR1(fn, list) {
        
     return tail(list) 
              ? fn(foldR1(fn, tail(list)), head(list))
              : head(list)
              ;
  }
docs: foldR implementation. Reduce a list down to a single value.
  
  @pram {Function} fn     (rightEval, curVal) -> result