I would: * have a struct * with one field that's the "magic number" field * you check that with unsafe methods to determine if the payload Is Good * If yes: you can make a ref to/copy from the existing payload * If no: you can return Default