rm
04/28/2016, 9:23 PMevalNodes0 (or evalNodes1). to do that, i have to write either evalNode0 or evalNode1. in order to write evalNode0, i have to use that .map{x -> x} trick to massage the specific types returned by evaluateTermA et al, to the more general return type of evalNode0. alternatively, i could use a variance annotation to make the return type covariant (as i did with evalNode1). the problem is that the latter will cause inference problems (evalNodes1) that i don't know how to solve