Like any software, PFS has some bugs and surprises. We will attempt to document them well so that you know what you are getting. Discussion of bugs and surprises is more than welcome on bypass-discuss.
A bug is some failure of PFS to live up to its promises. We will attempt to fix bugs as time and resources permit. However, the cure is sometimes worse than the sickness, so some bugs live on. A surprise is any effect of PFS that is non-intuitive but does not violate any standards or rules.
The FTP specification offers two ways of retrieving a directory list. The LIST command is designed for human consumption: it gives a very rich listing of files with no standard formatting or structure. The NLST command is designed for machines: it gives plain names and no other information. With most FTP clients, you can see the output of LIST by typing "ls" and the output of NLST by typing "nlist".
Now, PFS relies on the NLST command to retrieve directory names in order to implement the POSIX readdir() command. It can't possibly parse all the ways that data might be returned from the LIST command, which has no standard format. The surprise is that some FTP servers implement NLIST in such a way that it only returns file names -- no directory or other types of files. For some reason, the folklore is that the FTP specification insists that NLST only return the names of things that a RETR can actually retrieve. Ok, not a bad argument. But where does it say this in the RFC? I can't find it; can you?
In any case, if you issue an ls on an FTP directory with PFS, the results are server dependent.