let's play with C11! use _Generic to simplify send_frame