use std::ptr::read in WireValue