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