Implement Prototype(words []string,prefix string,limit int) ([]string,error) by filtering/deduplicating/sorting; Solve builds a rune trie, follows prefix, enumerates sorted children until limit. Return unique words in code-point lexicographic order, exact case. Empty words/prefix valid; zero limit yields empty slice; negative limit error. Preserve input. Include construction cost; UTF-8 lexicographic byte ordering agrees with rune ordering for valid text.
Edit exercise.go; retain the public types and signatures. prototype and final are separate stages. The executable tests recover panics as failures, report named checks, and exit nonzero on any failure. A successful run must execute at least one check. Tests use logical time or explicit synchronization where relevant.
Complete the starter code, then run the checks.
Results and errors will appear here.