code: function create(type, constructor) {
    return function projection() {
      var p = constructor();
  
      p.type = type;
  
      p.path = geoPath().projection(p);
  
      p.copy = p.copy || function() {
        var c = projection();
        projectionProperties.forEach(function(prop) {
          if (p.hasOwnProperty(prop)) c[prop](p[prop]());
        });
        c.path.pointRadius(p.path.pointRadius());
        return c;
      };
  
      return p;
    };
  }
docs: Augment projections with their type and a copy method.