pub fn cast<'a, T, U>(expr: T, data_type: U) -> ExprNode<'a>where
    T: Into<ExprNode<'a>>,
    U: Into<DataTypeNode>,