code: func ParseNamed(s string) (Named, error) {
  	named, err := ParseNormalizedNamed(s)
  	if err != nil {
  		return nil, err
  	}
  	if named.String() != s {
  		return nil, ErrNameNotCanonical
  	}
  	return named, nil
  }
docs: // ParseNamed parses s and returns a syntactically valid reference implementing
  // the Named interface. The reference must have a name and be in the canonical
  // form, otherwise an error is returned.
  // If an error was encountered it is returned, along with a nil Reference.
  // NOTE: ParseNamed will not handle short digests.