Ter funções como cidadãos de primeira classe permite o que chamamos de Programação Funcional ou Programação Orientada a Aspectos, que são estilos de programação muito poderosos para criar código mais flexível, reutilizável e, muitas vezes, mais conciso e expressivo. Este conceito é a base para entender as funcionalidades avançadas. Significa que: