And my point was that it IS documented well.
Looking through the fp documentation now, after this discussion, I can see that my claim that writeln is undocumented was incorrect. I do think however that my old Delphi documentation is easier to understand in two respects.
Firstly, from the fp docs:
procedure Write(
Args: Arguments
);
made me start looking for an Arguments class or interface, of which Args would be required to be an instance.
Secondly, the fp documentation continues:
Write writes the contents of the variables V1, V2 etc. to the file F.
where did V1, V2 come from?
The Delphi documentation has signature
procedure Write( [var F: Text; ] P1 [ , P2,..., Pn] );
and then goes on describe that each P is
Each P is a write parameter. Each write parameter....
Anyway, it's no big deal & thanks to posters on this thread who have helped me understand the situation.