Added subtrees combinator + miscellaneous refactoring.