Since this is, semantically, a set operation, should we not perhaps use sets:is_element/2 instead? Something like: vowels() -> sets:from_list("aeiou"). is_vowel(C) -> sets:is_element(C, vowels()). Just kidding, of course... (Obvious efficiency issues.) :-) DBM P.S. No, Mats, I did not benchmark this. :-)