Merge pull request #7 from alexander-myltsev/master

Implement more combinators, DRY code, clean up tests