`CreateFile` can be used to "create" a Unix socket file in the same way that `mknod` with `S_IFSOCK` "creates" a Unix socket file. It's a file that exists and presents as a socket, but you can't really do anything with it. On Windows, they're reparse points tagged with `IO_REPARSE_TAG_AF_UNIX`. I don't understand reparse points very well at all yet, but from a cursory reading of Microsoft's documentation, it's likely that there are edge cases with Unix socket files that this MR might need to cover.
To me, adding a flag for a single function doesn't seem like a better solution than the one currently implemented in this MR.