Por que o kfifo.h está cheio de declarações #define [duplicate]

Esta pergunta já tem uma resposta aqui:

Quando usar macros de função em C respostas

kfifo.h é composto quase inteiramente de#define. Por que é que? Por que eles não declararam as funções no arquivo h como se fossem "normalmente".

[editar

Parece que minha pergunta é facilmente interpretada como um questionamento da implementação, e não do que eu gostaria de perguntar, por que essa implementação é melhor do ponto de vista do aprendizado. De qualquer forma, como eu não sabia que estava olhando para "Macros semelhantes a funções", estou votando para fechar, pois é óbvio que é uma duplicata.

questionAnswers(1)

yourAnswerToTheQuestion