code: function do_merge(docs, code, defaults) {
    var h = {}, defaults = defaults || {};
  
    _.each(docs, function(value, key) {
      h[key] = docs[key] || code[key] || defaults[key];
    });
  
    h["name"] = merge_name(docs, code);
  
    //h["prefix"] = member.prefix;
    //h["id"] = "TODO"; JsDuck:"Class".member_id(h) not really relevant
  
    //if (h["meta"] === undefined)
    //  h["meta"] = {};
  
    // Copy private to meta
    //if (h["private"])
    //  h ["meta"]["private"] = h["private"];
  
    // Copy "static" and "inheritable" flags from code if present
    if (code["meta"] && code["meta"]["static"])
      h["meta"]["static"] = true;
    if (code["inheritable"])
      h["inheritable"] = true;
  
    // Remember auto-detection info
    if (code["autodetected"])
      h["autodetected"] = code["autodetected"];
  
    if (code["original_name"]) {
      h["original_name"] = code["original_name"];
      console.log(h);
      process.exit(1)
      }
  
    return h;
  }
docs: --- helpers ---