Crypto primitives are actually not that dangerous to implement, since there will usually be test vectors and/or other implementations you can check against. You get in trouble if you try to develop your own protocols, make mistakes with parameter selection, and that sort of thing.
Added: Here is some code that needs to be written, if it hasn't been already:
* TLS stack written in Rust, so we don't have to keep using the legacy OpenSSL stack. Or similarly, in Ada.
* SSH stack, same same.
* High speed primitives in RISC-V assembly language, in multiple versions optimized for different architecture implementations
* Lots of weird special primitives used in things like old fashioned payment protocols. I dealt with this somewhat when working on POS terminals.
* Hardware implementations in VHDL and Verilog
* Etc.
I'd feel comfortable working on the first two of the above. Someone has to do it, and we can't always get DJB to do everything, so that leaves people like us.