implemented sum, product, and length via FoldLeft
working on List reverse