text: def recursive_binary_search(target, source, left=0):
      if len(source) == 0:
          return None
      center = (len(source)-1) // 2
      if source[center] == target:
          return center + left
      elif source[center] < target:
          return recursive_binary_search(target, source[center+1:], left+center+1)
      else:
          return recursive_binary_search(target, source[:center], left)
  
  def contains(target, source):
      return recursive_binary_search(target, source) is not None
  
  letters = ['a', 'c', 'd', 'f', 'g']
  print(contains('a', letters)) ## True
  print(contains('b', letters)) ## False