4 and 6 are simple as ........, so start by doing those. Then proceed to implement fold/reduce in a generic way that works with arrays and you can easily knock off 1 and 2. Then, after you've done...