code: func (g Glob) Match(id Identity) bool {
  	globChunks := strings.SplitN(string(g), ":", 2)
  	if len(globChunks) != 2 || knownKinds[Kind(globChunks[0])] == nil {
  		return false
  	}
  	globKind := globChunks[0]
  	pattern := globChunks[1]
  
  	idChunks := strings.SplitN(string(id), ":", 2)
  	if len(idChunks) != 2 || knownKinds[Kind(idChunks[0])] == nil {
  		return false
  	}
  	idKind := idChunks[0]
  	name := idChunks[1]
  
  	if idKind != globKind {
  		return false
  	}
  	if strings.ContainsRune(name, '\n') {
  		return false
  	}
  
  	re, err := cache.translate(pattern)
  	if err != nil {
  		return false
  	}
  	return re.MatchString(name)
  }
docs: // Match returns true if glob matches an identity. If identity string
  // or identity glob string are invalid, returns false.