Thus spake Matthew Berryman circa 10/29/2009 03:51 AM: > *shrug* Main thing is to be clear in the docs. Anyone else have any > thoughts? The only thought I have is a question. I typically answer these sorts of questions by asking myself things like: "Why do we have both Double2D and MutableDouble2D at all?" The point being, if you want to make the two things adhere to the same interface, then why are they different classes? Is it solely for efficiency? Are there separate (functional requirement based) use cases for mutables than for immutables? Etc. As for you you end up doing it, I'm kinda leaning toward your 3rd option, allowing the interfaces to diverge according to their purpose. But I'm actually fine either way, as long as it's clear in the docs, like Matthew says. -- glen e. p. ropella, 971-222-9095, http://tempusdictum.com