docs: function mixin (self, other, withoutProto) {
      for (var key in other) {
          if (other.hasOwnProperty(key)) {
              if (key !== 'prototype' || !withoutProto) {
                  var d = Object.getOwnPropertyDescriptor(other, key);
                  Object.defineProperty(self, key, d);
              }
          }
      }
  }