loose attoparsec constraint