docs: function similarTo (a, b, partial) {
    if (!(_.isObject(a) && _.isObject(b)) || _.isEqual(a, b))
      return true;
  
    var keysA, keysB;
  
    keysA = Object.keys(a);
    keysB = Object.keys(b);
  
    if (!partial)
      if (!_.isEqual(keysA, keysB))
        return false;
    else
      if (_.intersection(keysA, keysB) >= keysB.length)
        return false;
  
    for (var key in keysA)
      return similarTo(a[keysA[key]], b[keysA[key]], partial);
  
    return false;
  }