Well, you can keep both:
```python
def count(f, iterable):
  return sum(1 for char in iterable if f(char))

def createCounter(_list):
  def counter(text):
    return count(lambda char: char in _list, text)
  return counter

# then all the functions become like this:
letters = createCounter(araby.LETTERS)
diacritics = createCounter(araby.TASHKEEL)
hamza_count = createCounter(araby.HAMZAT)
sunletters = createCounter(araby.SUN)
moonletters = createCounter(araby.MOON)
```