Your examples are from non-pike contexts and I think therefore of limited applicability:
The first two aren't accessible at all from pike.
The pike wrapper for the last (Stdio.File.open) does actually work for dirs too, but it's of very limited use (you can't read or write to an Stdio.File which has an opened directory). I dare say that's a bug too since it's neither useful nor expected.