do { let <decls> ; <stmts> }
= let <decls> in do { <stmts> }
Ответ 2
Объем - это остальная часть блока do.
См. §3.14 отчета Haskell (в частности, четвертый случай в блоке трансляции). (Да, это раздел о блоках do, потому что let без in действителен только внутри блока do, как указывает Поркс).