компонентный паскаль, в принципе, очень либерален к количеству секций CONST/TYPE/VAR: парзер просто крутит цикл с проверками, позволяя иметь сколько угодно секций. это удобно для логических группировок. но. в случае вложеных процедур вот так нельзя:
## Код:
```
PROCEDURE a;
  PROCEDURE nested; END nested;
VAR i: INTEGER;
BEGIN
END a;
```

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

как вы считаете, коллеги?