replace blocks in a blockwise object
make throwing more explanatory
add test for corner case
add test for blockwise objects