Its important to have the $side in the beginning of the arguments in the assemble mixin as this is the only one without a default value it has to be declared first.
@mixin assemble($side, $bg: #fff, $pad: 10px) {
background: $bg;
border-#{$side}: 1px solid #ccc;
padding: $pad;
}
.factory {
@include assemble($side: left);
}
.highrise {
@include assemble($side: right,$bg: #797979, $pad: 20px);
}