macro_rules! intersect_simple {
(
$(|)? $( $subtype_pattern:pat_param )|+ $( if $subtype_guard: expr )? $(,)?,
$(|)? $( $supertype_pattern:pat_param )|+ $( if $supertype_guard: expr )? $(,)?,
$context:expr,
$max_type:expr,
$assertion:expr,
$existing_var_type:expr,
$key:expr,
$negated:expr,
$span:expr,
$is_equality:expr,
) => { ... };
}