Won't this cause a runtime panic if there are less than 4 bytes in `b`?