moved LazyDefinition logic from defineExpression to likely_eval