Make default CostEvaluator work with arbitrary numeric types

It was already there, not sure why, prob to compensate incorrectly stored values