code: func initMemoisedKeyMap() func(typ string, key string) string {
  	m := make(map[string]map[string]string)
  	return func(typ string, key string) string {
  		if _, ok := m[typ]; !ok {
  			m[typ] = make(map[string]string)
  		}
  		k, ok := m[typ][key]
  		if !ok {
  			m[typ][key] = typ + "|" + key
  			return m[typ][key]
  		}
  		return k // memoized value
  	}
  }
docs: // avoid too many allocations by memoizing the "type|key" pair for an event
  // @see https://gobyexample.com/closures