code: func NewLevenshteinAutomatonBuilder(maxDistance uint8,
  	transposition bool) (*LevenshteinAutomatonBuilder, error) {
  	lnfa := newLevenshtein(maxDistance, transposition)
  
  	pdfa, err := fromNfa(lnfa)
  	if err != nil {
  		return nil, err
  	}
  
  	return &LevenshteinAutomatonBuilder{pDfa: pdfa}, nil
  }
docs: // NewLevenshteinAutomatonBuilder creates a
  // reusable, threadsafe Levenshtein automaton builder.
  // `maxDistance` - maximum distance considered by the automaton.
  // `transposition` - assign a distance of 1 for transposition
  //
  // Building this automaton builder is computationally intensive.
  // While it takes only a few milliseconds for `d=2`, it grows
  // exponentially with `d`. It is only reasonable to `d <= 5`.