> >I'm going to try "always use ref" way then That is not very smart. And I wonder why you have asked then at all?
Indeed I think the answer is not that easy -- I would try to use value objects whenever possible, and fall back to refs when necessary, or when the benefit of refs is obvious. Refs mean indirection, expensive heap allocation and deallocation. Value objects can mean copy, sometimes, but copy is not so slow as some people think.
