You're not missing out on anything by using your method.

Inserting a small line or a period ( or invisible text and ten swapping out switch types when text was required ) are the work-arounds to overcome the question mark problem unless generic annotation families are used.