refactor likely_eval to allow evalExpression to do its job