This isn't part of a generic interface, is it? Any reason to not make the contract more explicit by using *[]byte as the arg type?