fibs = 1 : zipWith (+) fibs (tail fibs)
fibs = loeb $ map const [0,1] ++ map (((.).(.)) (sum.take 2) drop) [0..]