old_contents: 'use strict';
  
  var keys  = require('./keys')
  
    , unset = function (key) { delete this[key]; };
  
  module.exports = function (obj) {
  	keys(obj).forEach(unset, obj);
  	return obj;
  };
  
new_contents: 'use strict';
  
  var keys = require('./keys');
  
  module.exports = function (obj) {
  	var error;
  	keys(obj).forEach(function (key) {
  		try {
  			delete this[key];
  		} catch (e) {
  			if (!error) error = e;
  		}
  	}, obj);
  	if (error !== undefined) throw error;
  	return obj;
  };
  
subject: Add `assign` like error handling to `Object.clear`