Maybe learn Rust as a middle ground between ML and C, then? It has sum types like ML and teaches you memory management like C.
Lifetimes are a compiler safety abstraction and mostly unrelated with how the computer runs your program.
Learning a language like C helps to understand why lifetime annotations are needed and how the compiler uses them.