macro_rules! circuit_cache_key_unsized {
($constructor:ident$(<$($typearg:ident),*>)?($key_type:ty => $val_type:ty)) => { ... };
(local $vis:vis $constructor:ident$(<$($typearg:ident),*>)?($key_type:ty => $val_type:ty)) => { ... };
(@inner $vis:vis [$type_key:path] $constructor:ident$(<$($typearg:ident),*>)?($key_type:ty => $val_type:ty)) => { ... };
}