In the screenshot below I have typed the word tok, which has triggered completion, and I want to use one of the fields from the data type.

In my view, the first two should not be shown at all, and the third (permutation of the word) only if nothing else shows up.
I am not sure how much of this is other company backends in my emacs, and how much is hie.
Except the HIE ones show up with that underscore in the middle, which is the concatenation of the actual completion and the description of it. Probably needs fixing in emacs-lsp too.
And looking more closely, there are duplicates, because of my screwed up re-exporting. But operationally they are the same, so only one of e.g. the tokLexeme suggestions should be provided.
I am going to make completion case sensitive, but add a configuration option for people who prefer the current behaviour.
I think it would be useful only to respect the casing for the first char. It is quite useful that auto-completion helps remembering the actual casing of functions.
Most helpful comment
I think it would be useful only to respect the casing for the first char. It is quite useful that auto-completion helps remembering the actual casing of functions.