Write the following functions using...
(i) tail recursion without recur
(ii) tail recursion with recur
1. length – calculates the length of a list
2. sum-list – adds up all of the numbers in a list of numbers
3. odds – counts the odd numbers in a mixed list of numbers & other data
4. average – calculates the average of a list of numbers (this should happen in one pass)
5. odd&even – analyses a mixed list containing numeric and other data. This function returns a suitable data-structure containing a count of the number of odd numbers and a count of the number of even numbers.