sjl.js
function classicalToStringMethod (constructor) {
        if (!constructor.hasOwnProperty('toString') || constructor.toString.name === 'toString') {
            constructor.prototype.toString = function toStringOverride() {
                return '[object ' + constructor.name + ']';
            };
        }
        return constructor;
    }
function classicalToStringMethod (constructor) {
        if (!constructor.hasOwnProperty('toString') || constructor.toString.name === 'toString') {
            constructor.prototype.toString = function toStringOverride() {
                return '[object ' + constructor.name + ']';
            };
        }
        return constructor;
    }
Creates classical styled `toString` method;  E.g. `toString` method that returns
`'[object ' + constructor.name + ']'` a` la` '[object Array]', '[object Function]' format.
@fyi method is a named function (named `toStringOverride` to be precise).
@note Only overrides `toString` method if it is a `named` method with the name `toString` or
if it doesn't exist.  If the `toString` method is `named` and the name is anything other than 'toString'
it will not be overridden by this method.
@function module:sjl.classicalToStringMethod
@param constructor {Function}
@returns {Function} - Passed in constructor.