`encoding/binary` does encoding/decoding of integers to binary (ie `binary.BigEndian.PutUint32`). Is there a reason to use `unsafe` here? My guess is that the `syscall` package uses `unsafe` because it is only allowed to use L0 packages, and `encoding/binary` is a L3 package: https://code.google.com/p/go/source/browse/src/pkg/go/build/deps_test.go