I am not opposed to supporting range preservation, but we do have to 
think a bit about the implications:

- what do you do when the data-type of values change?

What are the situations where they *have* to change? 
 
- what do you do when your operation due to, e.g., rounding issues
push values outside the input range?

Return a new object instead of changing the original, maybe?
 
- what do you do when you need to know the full potential range of the data?

 don't understand, do you mean the full potential range per data-type? isn't that defined by the data-type the input image has?

The ``preserve_range`` flag has allowed us to do whatever we do
normally, unless the user gave explicit permission to change data
types, ranges, etc.  It also serves as a nice tag for "I, the
developer, thought about this issue".

And that's quite cool that that's offered, but the question is, I guess, which default is best and why? 
Which default setting would confuse the least new (and old) users?

Michael