в общем, я считаю, оба пути примерно равнозначные: ты либо описываешь структуры, методы и валидации в коде спец образом и затем из этого генерируешь спеку, либо наоборот, по спеке генерируешь валидаторы структур, вызовы нужных методов. мне второй способ больше понравился, джависты завидовали, у них был только первый вариант