function foldR(fn, startValue, list) {
      
   return list 
            ? fn(foldR(fn, startValue, tail(list)), head(list))
            : startValue
            ;
}
function foldR(fn, startValue, list) {
      
   return list 
            ? fn(foldR(fn, startValue, tail(list)), head(list))
            : startValue
            ;
}
function foldR ( fn , startValue , list ) { return list ? fn ( foldR ( fn , startValue , tail ( list ) ) , head ( list ) ) : startValue ; }
foldR implementation. Reduce a list down to a single value.

@pram {Function} fn     (rightEval, curVal) -> result
foldR implementation . Reduce a list down to a single value .
Augmented function over the list of items in the list.