Rust has complicated semantics surrounding borrowing of course but its syntax is pretty straightforward I find! What makes you think it is complicated?