Or, ramblings and complaints about the general state of programming and other possibly related grievances.
There are 3 primary ways to pass data into functions: move, copy, or borrow (aka a reference). Since mutability is inherently intertwined with data passing (this function can borrow my data, but only if they promise not to mess with it), we end up with 6 distinct combinations.
Every language has its own level of support and take on these semantics: