headOr in terms of foldright and const
define product
define sum
ugly length
map in terms of foldRight
foldright definition of filter
flatten and append
flat map that shit
flattenAgain.
well, that feels like an ugly wrong solution if ever I saw one
pants definition of find
make reverse work