> Aren't the pex* functions designed to provide a uniform interface > where "uniform" means "like unix"?
Uniform, yes. "Like Unix" is a coincidence, not a goal. Sometimes we hide a unix-specific feature because we can't mimic it elsewhere (like simultaneous multithreading) but we prefer to add or wrap functionality (like #! support).