$map: (
    color: black,
    color2: red,
    'color' + '3': #00FF00
);
$map2: (
    color: rgb(255, 255, 255),
    length: 40em
);
// Map functions
div {
    color: map_get($map, color);
    color: map_get($map, 'color#{2}');
    foo: map_values($map);
    bar: map_keys($map2);
    baz: inspect(map_merge($map, $map2));
    foo: inspect(map_remove($map2, color));
    bar: if(map_has_key($map, color), true, false);
    suppress: map_get($map, null);
}

// List functions
div {
    foo: nth($map, 1);
    bar: nth(nth($map, 1), 1);
}

$color: ("black" : #000000, "grey" : #777777);
$color2: ("grey" : #888888, "white" : #ffffff);

@each $color_name, $color_value in map_merge( $color, $color2 ) {
    .#{$color_name} {
        background-color: $color_value !important;
    }
}

$args: ('a': 1, 'b': 2);

@mixin output($args) {
    @each $k, $v in $args {
        #{$k}: $v;
    }
}

@mixin output-varargs(
  $a,
  $b
) {
    color: $a;
    background-color: $b;
}

div {
    @include output($args);
    @include output-varargs($args...);
}

$list: (('a': 1), ('b': 2), ('c': 3));

div {
x: index($list, ('b': 2));
}
