Brilliant explanation why pass by value is faster than pass by reference for small-sized values. Uses cats (and also x86_64) as an ABI. This is also true for Go, except that the fact that references and pointers are mixed together forces a less pure decision.
https://mastodon.social/@TartanLlama/109636266260266025