Added error type parameter to `Parser`
Removed unnecessary RankNTypes pragma
Updated documentation
Simplified type signatures using `Lens'`