> I don't think anything would break turning them into non-properties.

The problem is that if we _ever_ use `save` as a normal function and call it with parens, then any `save` which was declared as a property will fail to compile with that code. `isForwardRange` requires that `save` be callable without parens but not that it be callable with parens. We could certainly transition to making it so that `save` is not a property, but with the changes to make `@property` functions uncallable with parens, it _will_ break code to make `save` a normal function. Now, odds are that plenty of folks are calling it with parens anyway, so enforcing `@property` functions to be called without parens is going to break lots of code anyway, but I definitely don't think that it's the case that we can change start making `save` a normal function and expect nothing to break in the process.

`dup`'s a funny one, because it's built in, and it's impossible to call it with parens right now, so changing that might work, but `save` is a different story.

I completely agree that we would ideally change them to be normal functions, but I'm not sure that we can get away with it at this point, much as I'd love to.