I just stumbled upon a combination of Mixin and Extend:
.block1 { box-shadow: 0 5px 10px #000; }
.block2 { box-shadow: 5px 0 10px #000; }
.block3 { box-shadow: 0 0 1px #000; }
@mixin customExtend($class){ @extend .#{$class}; }
like: @include customExtend(block1);
h1 {color: fff; @include customExtend(block2);}
Sass will compile only the mixins content to the extended blocks, which makes it able to combine blocks without generating duplicate code. The Extend logic only puts the classname of the Mixin import location in the block1, ..., ... {box-shadow: 0 5px 10px #000;}