I realized the v13 approach isn't fully safe as it may dereference memory in unaligned fashion and doesn't use an unaligned safe type. I submitted v14 as a more general approach to address this issue.