pub fn expr_to_literal(
    expr: &Expr,
    dis_warnings: &DisplayWarnings,
    path: Option<&[(Interval, PathState)]>,
    data: &mut Data<'_>,
    msg_data: &mut MessageData,
    sender: &Option<Sender<MSG>>
) -> Result<Literal, ErrorInfo>