Refactor the combinators to work with strings.
Extract a list module.