add fold_expr function
support type cast