Прошу пояснить уважаемых знатоков, почему работает указанный код,
хотя в модуле(System)Filesимеются только абстрактные определения для объектов Writer/Reader/File:
## Код:
```
MODULE Files;
   IMPORT Kernel;
.....
   PROCEDURE (f: File) Length* (): INTEGER, NEW, ABSTRACT;
   PROCEDURE (f: File) NewReader* (old: Reader): Reader, NEW, ABSTRACT;
   PROCEDURE (f: File) NewWriter* (old: Writer): Writer, NEW, ABSTRACT;
   PROCEDURE (f: File) Flush* (), NEW, ABSTRACT;
   PROCEDURE (f: File) Register* (name: Name; type: Type; ask: BOOLEAN; OUT res: INTEGER), NEW, ABSTRACT;
   PROCEDURE (f: File) Close* (), NEW, ABSTRACT;
   
   PROCEDURE (r: Reader) Base* (): File, NEW, ABSTRACT;
   PROCEDURE (r: Reader) Pos* (): INTEGER, NEW, ABSTRACT;
   PROCEDURE (r: Reader) SetPos* (pos: INTEGER), NEW, ABSTRACT;
   PROCEDURE (r: Reader) ReadByte* (OUT x: BYTE), NEW, ABSTRACT;
   PROCEDURE (r: Reader) ReadBytes* (VAR x: ARRAY OF BYTE; beg, len: INTEGER), NEW, ABSTRACT;
   
   PROCEDURE (w: Writer) Base* (): File, NEW, ABSTRACT;
   PROCEDURE (w: Writer) Pos* (): INTEGER, NEW, ABSTRACT;
   PROCEDURE (w: Writer) SetPos* (pos: INTEGER), NEW, ABSTRACT;
   PROCEDURE (w: Writer) WriteByte* (x: BYTE), NEW, ABSTRACT;
   PROCEDURE (w: Writer) WriteBytes* (IN x: ARRAY OF BYTE; beg, len: INTEGER), NEW, ABSTRACT;
```

## Код:
```
MODULE ExamplesReadFile;
 IMPORT Log, Files;
 PROCEDURE ReadFileBytes*;
  VAR file: Files.File; reader: Files.Reader; b: BYTE;
 BEGIN
   file := Files.dir.Old(Files.dir.This("c:\"), "file.txt", FALSE);
   IF file # NIL THEN
     reader := file.NewReader(NIL);
     IF reader # NIL THEN
       (* ASSERT(~reader.eof); *)
       reader.ReadByte(b); 
       WHILE ~reader.eof DO
         Log.Int(b); Log.Ln;
         reader.ReadByte(b)
       END;
       (* ASSERT(reader.eof) *)
     ELSE
       Log.String("Error on open file reader."); Log.Ln
     END;
     file.Close
   ELSE
     Log.String("File open error."); Log.Ln
   END
 END ReadFileBytes;
 
END ExamplesReadFile.
```


Почему модуль(System)Filesнеявно подменяется на(Host)Files?
Есть специальное правило на этот счет ?