refactoring: combine function is externalized to facilitate separate testing
Merge branch 'master' of github.com:weiju/cmonkey-python