abandoning this. bad concept. nn_chunk uses extra data before the user data thus replacing free fn() creates confusion which type of msg/chunk the user receives