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