I suppose FreeBSD made more sense as a base considering MacOS is derived from BSD.
I suppose FreeBSD made more sense as a base considering MacOS is derived from BSD.
The XNU kernel does not have a stable syscall ABI so perhaps it doesn't matter if the syscalls are different because the implementation of libSystem can convert as appropriate in userspace (see also: WINE).
Partially, XNU is Mach AND the FreeBSD-Kernel:
As another commenter noted: XNU = Mach + FreeBSD.
What you are referring to is what NeXTSTEP was, Mach + BSD4:
* https://en.wikipedia.org/wiki/NeXTSTEP#Unix
By the time Apple got to them it was a few years later, and so they decided to updated that part of the kernel, and also brought in FreeBSD's userland.
Historical note: FreeBSD used to support XFS; I believe it was ported from Linux.
That said, there's nothing stopping you or anyone else from reworking my code into a (gpl-licensed) FUSE driver. I don't think it's a straightforward task, but it can definitely be done.