The explicit cast is necessary even though the value for `t` is passed in as an r-value, because it becomes an l-value as soon as it is assigned to the variable.