We shouldn't talk about equality of types. Reword it as: > If `Ui` is a specialization of `reference_wrapper` then `Vi` is `Ui::type&`, otherwise `Vi` is `Ui` [tuple.creation] has the same problem.