I like how you skipped the hardest part that requires most Rust knowledge; the `move`
My point is that the syntax isn't a problem, it's that Rust has very different semantics from the GC'd languages in the original comment and it all has to do with memory management.