Qualquer método de programação funcional de atravessar um dicionário aninhado?

Eu estou tentando encontrar uma maneira melhor de implementar isso:

d = {"a": {"b": {"c": 4}}} 
l = ["a", "b", "c"]
for x in l:
    d = d[x]
print (d) # 4 

Eu estou aprendendo programação funcional, então estou apenas tentando exemplo aleatório que vem à minha cabeça :)

questionAnswers(1)

yourAnswerToTheQuestion