Scheme practice problems: 1. In Prolog we wrote a predicate that reversed the elements of a list. Write this in Scheme. 2. There is a built-in function in Scheme to test for membership of an element in a list. Write a Scheme function memberOf(x ys) to do this task. (memberOf(2 '(1 4 (2 3))) should return false as it should only check the top level elements of the list ys (shallow recursion). 3. Write a deeply recursive funtion on lists that counts the number of numbers in a heterogneous list of elements that are numbers and atoms. That is, on the list ((1) 2 sam (larry 5)) your function should return 3 as the value calculated; note that this list has 4 top-level elements. 4. Makeup your own higher order function that takes a function as its argument. Demonstrate examples of function application and write 1-3 sentences about what your function calculates.