While you can put your root filesystem on ZFS and many people do it, it is considered a little more advanced setup and it's more common to run ext4 on / and then zfs for mounted datasets on e.g. /var and /home.
A catch with ZFS is that it does not have a compatible license with Linux, which prevents many distros from shipping compiled modules directly. So the most common way to ship it is by DKMS, which (automatically) compiles the ZFS module from source. This is done by installing the zfs-dkms package.
The ZFS version obviously needs to be compatible with your kernel and sometimes it can take a while for ZFS to Linux. Arch does not coordinate releases so especially if you're not on the LTS kernel, you can run into situations where ZFS is no longer available after an upgrade. Furthermore, zfs-dkms is not in Arch repos but in AUR so you have to build even that from source for each upgrade of ZFS. Not recommended for beginners.
That a partial or failed system upgrade can leave you in a place without ZFS modules is one reason why putting / on ZFS is not more common.
In debian, you just apt-get install zfs-dkms.
Alpine Linux maintainers decided to just ignore the license issue and ship a compiled zfs package including kernel modules.
I'm curious: What's motivating you to do that when the memmap param can do the same without patching?