> -- adimetrius писал(а):
> Дайте, пож, простой пример, как бы вы хотели.

Хотелось бы убрать смысловой разрыв, когда тип данных определён в одном месте, а его процедурный интерфейс - в другом.

Хотелось бы так:

## Код:
```
TYPE
  View = POINTER TO ABSTRACT RECORD (Views.View) END;

    PROCEDURE (v: View) Restore (f: Views.Frame, l, t, r, b: INTEGER), NEW, ABSTRACT;
    PROCEDURE ^ (v: View) HandleCtrlMsg (f: Views.Frame; VAR msg: Views.CtrlMsg; VAR focus: Views.View), NEW;
    PROCEDURE ...

TYPE
  Context = ...
 
    PROCEDURE ...
```
