export function Mixin ( baseCtors ) { return function ( derivedCtor ) : void { baseCtors . forEach ( baseCtor => { Object . getOwnPropertyNames ( baseCtor . prototype ) . forEach ( name => { derivedCtor . prototype [ name ] = baseCtor . prototype [ name ] ; } ) ; } ) ; } ; }