ex 4.21 - impl fib
ex 4.21.a - done
ex 4.21 - done
4.1.7 - the basic idea