This already begins obscuring things, because now there are two sets of shared-module functions for manipulating the same structure, e.g., common_hal_canio_remote_transmission_request_get_id and common_hal_canio_message_get_id
It reuses most of canio.Message's implementation, and structure
This reflects our belief that the API is stable enough to avoid incompatible changes during 6.x.