compile by attoparsec.bytestring