@charset "UTF-8";

/// Provides a quick method for targeting `margin` on specific sides of a
/// box. Use a `null` value to “skip” a side.
///
/// @argument {arglist} $values
///   List of margin values, defined as CSS shorthand.
///
/// @example scss
///   .element {
///     @include margin(null 10px 3em 20vh);
///   }
///
/// @example css
///   .element {
///     margin-bottom: 3em;
///     margin-left: 20vh;
///     margin-right: 10px;
///   }
///
/// @require {mixin} _directional-property

@mixin margin($values...) {
  @include _directional-property(margin, false, $values...);
}

@charset "UTF-8";

/// Provides a quick method for targeting `margin` on specific sides of a
/// box. Use a `null` value to “skip” a side.
///
/// @argument {arglist} $values
///   List of margin values, defined as CSS shorthand.
///
/// @example scss
///   .element-one {
///     @include margin(null auto);
///   }
///
///   .element-two {
///     @include margin(10px 3em 20vh null);
///   }
///
/// @example css
///   .element-one {
///     margin-left: auto;
///     margin-right: auto;
///   }
///
///   .element-two {
///     margin-bottom: 20vh;
///     margin-right: 3em;
///     margin-top: 10px;
///   }
///
/// @require {mixin} _directional-property

@mixin margin($values...) {
  @include _directional-property(margin, false, $values...);
}

Add more detail to the margin mixin documentation example
Add more detail to the margin mixin documentation example

Show use with only two values in the arglist
