macro_rules! ref_pt {
[ $a:ident . $b:ident $(($($args:expr),*))?. $($other:tt)+] => { ... };
[ $a:ident . $b:ident $(($($args:expr),*))?-> $($other:tt)+] => { ... };
[ $a:ident -> $b:ident $(($($args:expr),*))?. $($other:tt)+] => { ... };
[ $a:ident -> $b:ident $(($($args:expr),*))?-> $($other:tt)+] => { ... };
[ $a:ident . $b:ident $(($($args:expr),*))? ] => { ... };
[ $a:ident -> $b:ident $(($($args:expr),*))? ] => { ... };
[ $a:ident . $b:ident $(($($args:expr),*))? = $c:ident $($other:tt)+] => { ... };
[ $a:ident -> $b:ident $(($($args:expr),*))? = $c:ident $($other:tt)+] => { ... };
[ $a:ident . $b:ident $(($($args:expr),*))? = $c:expr] => { ... };
[ $a:ident -> $b:ident $(($($args:expr),*))? = $c:expr] => { ... };
}