cleaned up likely_expression::constant interface