Ну и мои пять копеек:

## Код:
```
PROCEDURE (pg: Page) Load* (): BOOLEAN;
   VAR ret : BOOLEAN;
BEGIN
   ret := FALSE;
   IF pg.base.bmh = NIL THEN
      IF pg.Load^ () THEN AllocNew (pg); ret := TRUE END
   ELSE
      ret := TRUE
   END;
   RETURN ret
END Load;
```


## Код:
```
PROCEDURE (pg: Page) Load* (): BOOLEAN;
   VAR ret : BOOLEAN;
BEGIN (* ret, что логично, сейчас находится в состоянии неопределённости *)
   IF pg.base.bmh = NIL THEN
      IF  pg.Load^ ()  THEN  AllocNew ( pg ); ret := TRUE  ELSE  ret := FALSE  END
   ELSE
      ret := TRUE
   END;
   RETURN ret
END Load;
```


P.S. Здесь был похожий вариант, но я свой сделал ещё до того, как дочитал до него.