note that geometry_msgs::msg::PoseStamped, geometry_msgs::msg::PoseStamped::_header_type (alias for std_msgs::msg::Header), geometry_msgs::msg::PoseStamped::_pose_type (alias for geometry_msgs::msg::Pose) are all just structs. header and pose are the only two fields that PoseStamped has.Pose
is just a vec3 + quat, and Header has some shit like a timestamp + std::string frame id