extensions MarshalTo instead of Marshal