v1.4.2 — cross-architecture build fix
internal/xor/xor.go declared Bytes with no body and no build constraint, while xor_generic.go provides the same function under !amd64 && !arm64. Every other architecture compiled both declarations and failed with Bytes redeclared in this block, which took the whole module down with it.
The assembly declaration is now constrained to the architectures whose .s files actually define the symbol, and the package comment moved to doc.go so it survives on the generic path.
Builds verified on 386, riscv64, ppc64le, s390x and mips64le, in addition to amd64 and arm64. No behaviour change on the two architectures that already worked — they use the same assembly as before.
Known issue, unrelated to this release: TestLeopardLarge fails on main and has done since v1.4.0 (shard 0 mismatch at byte 0 in the GF(2^16) Leopard-RS decode path). raptorq, ldpc, gf256 and gf65536 all pass.