- get rid of Option[T] in intermediate results
- in Result change TypeName to c.Tree
- add zeroValue function (which needs to be safer and more extensible)