code: func ReplaceRandomConsecutiveCharsWildcard(num int) func(in string) string {
  	return func(in string) string {
  		// visualizing the logic here... imagine num=2
  		// abcd.fghi.klmn.pqrs.uvwx.z  (len=26)
  		// ^ possible vals for pos ^
  		// 0 .................... 24
  		// let's say it's 12, so:
  		//             ^
  		// abcd.fghi.kl + ** + .qrs.uvwx.z
  		if len(in) < num {
  			log.Fatalf("metric %q not long enough to replace %d characters", in, num)
  		}
  		pos := rand.Intn(len(in) - num + 1)
  		return in[0:pos] + strings.Repeat("*", num) + in[pos+num:]
  	}
  }
docs: // ReplaceRandomConsecutiveCharWildcard returns a function that will replace num consecutive random characters with wildcards
  // note: it's also possible to produce patterns that won't match anything (if '.' was taken out)
  // note: assumes string is long enough