I was told to split it, in older versions there was only one function (I think @CyberShadow mentioned that), because otherwise ref will always be used when possible, even if it doesn't make sense.