in c_src/hyper_carray.c [289:307]
static ERL_NIF_TERM decode_registers(ErlNifEnv * env, int argc,
const ERL_NIF_TERM argv[])
{
unsigned int precision = 0;
ErlNifBinary bin;
if (!enif_get_uint(env, argv[1], &precision)
|| !enif_inspect_binary(env, argv[0], &bin))
return enif_make_badarg(env);
carray_ptr arr = NULL;
carray_alloc(precision, &arr);
memcpy(arr->items, bin.data, arr->size);
ERL_NIF_TERM erl_res = enif_make_resource(env, arr);
enif_release_resource(arr);
return erl_res;
}