@mixin position ($position: relative, $coordinates: 0 0 0 0) {

  @if type-of($position) == list {
    $coordinates: $position;
    $position: relative;
  }

  $coordinates: unpack($coordinates);

  $top: nth($coordinates, 1);
  $right: nth($coordinates, 2);
  $bottom: nth($coordinates, 3);
  $left: nth($coordinates, 4);

  position: $position;

  @if ($top and $top == auto) or (type-of($top) == number and not unitless($top)) {
    top: $top;
  }

  @if ($right and $right == auto) or (type-of($right) == number and not unitless($right)) {
    right: $right;
  }

  @if ($bottom and $bottom == auto) or (type-of($bottom) == number and not unitless($bottom)) {
    bottom: $bottom;
  }

  @if ($left and $left == auto) or (type-of($left) == number and not unitless($left)) {
    left: $left;
  }
}
