rewrote combineCodeTrees using pattern matching
refactored Fork and Leaf class into CodeTree