/**
 * @file lib.h
 * @author Ernesto Casablanca (casablancaernesto@gmail.com)
 * @copyright 2024
 */
#pragma once

/**
 * @brief Add two integers
 *
 * Who knows what the result will be?
 * In the meantime, look at the graph!
 * @startuml "Insightful diagram" width=5cm
 * Alice -> Bob : Hello
 * @enduml
 * @note This function is very complex. Use it with caution.
 * @warning The result can be greater than the maximum value that can be stored!
 * @param a First integer
 * @param b Second integer
 * @return Sum of a and b
 */
int add(int a, int b);
