Following #650 In particular, need to explain how it's implemented as a series of general blockwise copy operations.