use expr.toC first before use construct