We're using
MessagePackSerializer.NonGeneric.Deserialize(type, new ArraySegment<byte>(input, offset, input.Length - offset));
And when we get a payload with value:3 and try to deserialize into public class ValueHolder { public int Value; } we just get the default ValueHolder back with Value == 3