scanl implementation of fibonacci much nicer!
Logarithmic implementations form haskell.org