private static function generateFuzzyTerms(string $term): array
    {
        $terms = [$term . '_'];
        for ($i = 0; $i < strlen($term); ++$i) {
            // insertions
            $terms[] = substr($term, 0, $i) . '_' . substr($term, $i);
            // deletions
            $terms[] = substr($term, 0, $i) . substr($term, $i + 1);
            // substitutions
            $terms[] = substr($term, 0, $i) . '_' . substr($term, $i + 1);
        }

        return $terms;
    }