Blazing fast Fibonacci numbers using Monoids

This post illustrates a nifty application of Haskell's standard library to solve a numeric problem. The Fibonacci series is a well-known sequence of numbers defined by the following rules: In fact, that's not only a specification of the Fibonacci numbers: that's also valid Haskell code (with a few gratuitous parentheses to resemble traditional mathematical notation).