@neauoire That's a good list of costs. Where I work there is a general habit of sending in very large and complex data structures as input to functions (Java), not because the function needs all that data, but because the caller generally already has that data structure prepared. The long-term problems that the code experiences because of this habit pretty much correlates exactly with your list of costs... I ought to take some of this and turn it into evidence.