The main problem is the keys have to be accessible to the WhatsApp ... app ... itself and you have no way of validating what that does. Never mind that it isn't open source, you can't read its memory space or debug it in any way, heck if you aren't rooted you can't even read /data/data/com.whatsapp/files/ . Because you know, it's too dangerous for you to be able TO READ YOUR OWN FILES ON YOUR OWN DEVICE.
They already have the facility to read your already decrypted messages remotely via the web interface "app", even if that encryption is end to end (which I guess can be, but it might be very cumbersome as opposed to whatsapp's servers doing everything and serving you the web interface) still the authentication process is mostly under Meta's control.