docs: function extend(child, parent, options) {
    
    var options = options || {}
      , child_copy = undefined
      ;
  
    for (var prop in parent) {
      
      if (typeof parent[prop] !== 'undefined' && parent[prop] !== child[prop]) {
        var dst = undefined;
        
        if (options.copyOnWrite) {
          
          child_copy = child_copy || extend({}, child);
          dst = child_copy
          
        } else {
          
          dst = child;
          
        }
        
        dst[prop] = (!options.overwrite && typeof dst[prop] !== 'undefined' ? dst[prop] : parent[prop]);
      }
    }
    return child_copy || child;
  }