I would also greatly appreciate this feature (with type #PB_String_NoCase available, of course

).
As Seymour said, we can't easily write our own generic function because we can't manage different types in PB procedure.
So we can write a dedicated procedure each time this feature is needed (that's what I did just last week when I realize that writing a generic FindListElement() procedure would be impossible), or we can also use Macro like Seymour did.
Of course, it's no big deal, but a native FindListElement() could be more efficient.
Seymour Clufley wrote:All lists would have to be indexed on all structure elements for this to be a reality
Or the function could just loop through the list until it finds a matching element.
I'm no sure I get exactly what netmastro meant, but a loop could indeed be enough, as anyhow that's the way we have to proceed when we need such a function (and I'm quite sure that the native function could only be faster than our own loop).