Less wide CopyTo().
More err := idiom avoidance and care.
Made union() a lot less wide, with careful err mgmt.
More care on error propagation.
Collapse some simple err != nil tests into 1 line.