set, change, undo, and paste are all working with undo, and reporting how many blocks were changed.
(yes, even undo is working with undo, even though thats weird... i put comments in. we could use redo)