This document discusses alternatives to overloading on universal references in C++. It suggests methods such as abandoning overloads, passing by const reference, passing by value, using tag dispatch, and imposing constraints on templates. Each method is evaluated for its benefits and drawbacks, particularly in relation to performance and complexity.