Rust made me worry about a lot more than I wanted to. Threads, locking, mutability. What was 80 lines of:
1. open USB device, get handle
2. start a WebSocket server, accept clients
3. proxy incoming USB device traffic to all WebSocket clients
4. proxy incoming WebSocket traffic to USB device
in node.js turned into battles with dyn FnMut traits to pass "callback/event" handlers around, spawning threads to not block on libusb reading / WebSocket client reading, borrowing, cloning, mutex locking, reference counting with Rust like you can in JavaScript.
You can't just "move variables from one scope into callback/lambda" scope with any sort of ease in Rust.