If @len is positive, @val may contain embedded nuls and need
not be nul-terminated. It is the caller's responsibility to
ensure that @val has at least @len addressable bytes.
If @len is negative, @val must be nul-terminated and @len
is considered to request the entire string length.
If @pos is -1, bytes are inserted at the end of the string.
Inserts @len bytes of @val into @string at @pos.
If @len is positive, @val may contain embedded nuls and need not be nul-terminated. It is the caller's responsibility to ensure that @val has at least @len addressable bytes.
If @len is negative, @val must be nul-terminated and @len is considered to request the entire string length.
If @pos is -1, bytes are inserted at the end of the string.