code: func Get(u *url.URL) (Distribution, error) {
  	c, err := parseCIMD(u)
  	if err != nil {
  		return nil, fmt.Errorf("malformed distribution uri %q: %v", u.String(), err)
  	}
  	if u.Scheme != Scheme {
  		return nil, fmt.Errorf("malformed distribution uri %q", u.String())
  	}
  	if _, ok := distributions[c.Type]; !ok {
  		return nil, fmt.Errorf("unknown distribution type: %q", c.Type)
  	}
  	return distributions[c.Type](u)
  }
docs: // Get returns a Distribution from the input URI.
  // It returns an error if the uri string is wrong or referencing an unknown
  // distribution type.