Make default CostEvaluator work with arbitrary numeric types

I know that we have other code that does this, but I'm not sure that makes it a good idea to do this.
I think we should only handle `Number` properties here.