A cell should be calculated by a formula if it isn't set to a value.
I think the easiest way to achieve that would be to just use two cells, one c? and one c-in, and just have the former be equal to the latter if it is set, and to some formula if it is not. If you really want to have a consistent interface to the slot you should consider overriding accessor methods.
Regards, Jakub