<===> input.scss
@mixin foo($x, $y, $zs...) {
  grarh: type-of(false);
  f: $zs;
  fa: $x, $y, $zs;
  fv: $zs;
  ft: type-of($zs);
  fj: join(1 2 3, $zs);
  fjt: type-of(join(1 2 3, $zs));
  fkt: type-of(join($zs, 1 2 3));
  hoopla: length(a b c d e);
  boopla: type-of(123+234);
  koopla: type-of(length(a b c d));
}

@mixin bar($x, $y, $z) {
  ba: $x, $y, $z;
  bv: $z;
  bt: type-of($z);
  bj: join(1 2 3, $z);
  bjt: type-of(join(1 2 3, $z));
}

$stuff: hey hoo ha;

@mixin mudge($x, $y, $zs...) {
  x: $x;
  y: $y;
  z: $zs;
}

div {
  @include foo(a, b, c d e f);
  @include bar(a, b, c d e f);
  @include foo(a, b, c d e...);
  @include foo(a, c d e...);
  @include foo(a, $stuff...);
  new: type-of("hello");
}

@mixin bad($x, $y, $z) {
  first: $x;
  second: $y;
  rest: $z;
}

@mixin foo($x, $y, $z) {
  a: type-of(join($x, $y));
  b: type-of($z);
  c: type-of(length($x));
}

div {
  @include foo(a b c, d e, false);
}

<===> output.css
div {
  grarh: bool;
  f: c d e f;
  fa: a, b, c d e f;
  fv: c d e f;
  ft: arglist;
  fj: 1 2 3 c d e f;
  fjt: list;
  fkt: list;
  hoopla: 5;
  boopla: number;
  koopla: number;
  ba: a, b, c d e f;
  bv: c d e f;
  bt: list;
  bj: 1 2 3 c d e f;
  bjt: list;
  grarh: bool;
  f: c d e;
  fa: a, b, c d e;
  fv: c d e;
  ft: arglist;
  fj: 1 2 3 c d e;
  fjt: list;
  fkt: list;
  hoopla: 5;
  boopla: number;
  koopla: number;
  grarh: bool;
  f: d e;
  fa: a, c, d e;
  fv: d e;
  ft: arglist;
  fj: 1 2 3 d e;
  fjt: list;
  fkt: list;
  hoopla: 5;
  boopla: number;
  koopla: number;
  grarh: bool;
  f: hoo ha;
  fa: a, hey, hoo ha;
  fv: hoo ha;
  ft: arglist;
  fj: 1 2 3 hoo ha;
  fjt: list;
  fkt: list;
  hoopla: 5;
  boopla: number;
  koopla: number;
  new: string;
}

div {
  a: list;
  b: bool;
  c: number;
}