function bind(obj, fn) {
        return function () {
            return fn.apply(obj, arguments);
        };
    }
Simple function to mix in properties from source into target,
but only if target does not already have a property of the same name.