title: Signatures smartmatching misunderstanding
body: <p>While reading and trying signature smartmatching I run into something strange.</p>
  
  <p>Executing the following smartmaching signature pairs:</p>
  
  <pre><code>my @sigs = :($a, $b), :($a, @b), :($a, %b);
  my @signatures_to_check = :($, $), :($, @), :($, %);
  
  my $c = 0;
  
  for @sigs -&gt; $sig {
      for @signatures_to_check -&gt; $s {
          $c++;
  
          if $sig ~~ $s {
              say "  [ $c ]  " ~ $sig.gist ~ '        match ' ~ $s.gist;
              next;
          }
  
          say "  [ $c ]  " ~ $sig.gist ~ ' do NOT match ' ~ $s.gist;
      }
  
      say "\n" ~ '#' x 40 ~ "\n";
  }
  </code></pre>
  
  <p>I've got the following results:</p>
  
  <pre><code>  [ 1 ]  ($a, $b)        match ($, $)
    [ 2 ]  ($a, $b) do NOT match ($, @)
    [ 3 ]  ($a, $b) do NOT match ($, %)
  
  ########################################
  
    [ 4 ]  ($a, @b)        match ($, $)
    [ 5 ]  ($a, @b)        match ($, @)
    [ 6 ]  ($a, @b) do NOT match ($, %)
  
  ########################################
  
    [ 7 ]  ($a, %b)        match ($, $)
    [ 8 ]  ($a, %b) do NOT match ($, @)
    [ 9 ]  ($a, %b)        match ($, %)
  
  </code></pre>
  
  <p>I've tried explaining myself cases [ 4 ] and [ 7 ] but I've failed!</p>
  
  <p>Can somebody explain it to me?</p>