Мы наблюдаем за Metosinовцами. У них очень много годных библиотек. Мы взяли у них роутинг, интерцепторы (нам очень понравилось использовать их при построении микросервисов) и еще какие-то.
defrecord нужны чтобы связывать их с протоколами, а так больше не за чем. И если у такой мапы убрать один из ключей, она превращается в обычную мапу
еще оптимизация (быстрее создается, меньше весит, ищет ключи быстрее, можно примитивы хранить в ключах) и документирование -- чтобы сразу было понятно, какие поля ожидаются.
эту либу привел в качестве примера того, что там элементы описываются с помощью defschema. Стоит ли пользоваться такими макросами для описания схем/сущностей? или ограничиваться только мапами?