support for constructor functions that return itself if the constructor function is not called with "new"