Make Shared extend Reader
Replaced multiple modify methods with single one returning Change

This also meant a substantial simplification for the reified operations
which is now just Modify, made this extend A => A & perhaps it doesn't
need to be a class in its own right (A => A) might do.