A convenience macro to duplicate a block of memory using the slice allocator.
and casts the returned pointer to a pointer of the given type,
avoiding a type cast in the source code.
Note that the underlying slice allocation mechanism can
be changed with the [
This can never return