Yes, I think I know exactly where you're coming from. I've gone through the same cycle of starting and stopping with it, for the same reason. I will sometimes spend hours looking at a simple function thinking "There has to be a way to get this to work," when I would have long since put the sequence of if-else statements in a C program, or just allocated some heap memory and been done with it. It's like I want Rust to be Haskell, but without the GC, and I feel like I'm dumb for not being able to make it work that way. It seems like the abstractions Rust makes available should be composable in a way that is prevented by the memory model. The language features are mostly there, but it's just tantalizingly out of reach and it seems to trigger my "puzzle solving" response.