Implemented monadic tokenisers
Merge branch 'parser-monad' into parser