Fast implementation of Fibonacci sequence using Matrix multiplication and Exponentiation by Squaring algorithm.
The implementation leverages the Monoid typeclass from the Arrow library.
Inspired by http://www.haskellforall.com/2020/04/blazing-fast-fibonacci-numbers-using.html