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