foldr
foldr : ((X Y -> Y) Y (listof X) -> Y)
purpose:
(foldr f base (list x-1 ... x-n)) = (f x-1 ... (f x-n base))
Advanced Student Language