Generalised more in Parsing.hs to enable the use of custom state