in a free function that has such a return type, if there are several
overloads the return type of each should be instanciable.
This fix will make incorrect usages break later while enabling the use
in free function.
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.