But this violates referential transparency because calling it multiple times with the same argument will return different results each time as the current position in the file gets moved.
Но это нарушает ссылочную прозрачность, потому что вызов этой функции несколько раз с одним и тем же аргументом будет всякий раз возвращать разные результаты при перемещении текущей позиции в файле.