Expr's `uncheckedCastTo()` method should return a new instance of casted expr. The origin expr should remain unchanged.