macro_rules! define_print {
    (($self:ident, $cx:ident): $($ty:ty $print:block)+) => { ... };
}