The issue with your "function which returns mutable data" is that you have no way to know (except looking at the code) whether the return value is a reference to the input value or if it's another buffer.. The COW style of D seems better implemented with const than without const now that we have it.. Regards, renoX