code: def lookup(source, keys, fallback = None):
    
    try:
      for key in keys:
        source = source[key]
      return source
    except (KeyError, AttributeError, TypeError):
      return fallback
docs: Traverses the source, looking up each key.  Returns None if can't find anything instead of raising an exception.