&gt;  since this code is operating on purely opaque data.<p>Not opaque, generic. Genericity is good.<p>This rant is typical from someone who&#x27;s still thinking very low level and who hasn&#x27;t spent any time upgrading his tools to embrace the new level of abstraction that modern language concepts offer.<p>Not sure what type an expression is? Ask your IDE. This is the kind of things that tools are very good at, so let them take care of this while you focus on writing clean, generic and reusable code.