Tuple and function execution order

Besides the original paper, see this old comment: Why are OCaml function arguments evaluated right-to-left?

As for documentation, I’ve seen some unpublished notes that describe this behavior for various language constructs, including records and labeled arguments. I could probably get the author to post them.