Excellent answer and reference (pun intended), thank you!
I rarely use the ByRef keyword, albeit I don’t code rarely; it’s just I use other ways. Dealing with these 4 possibilities is always a deep thought, where your explanation will be a quick reference; very helpful!