             (-> multi D, C, B)
                 .should.throw "Inconsistent multiple inheritance"
 
+            ((A, B, C) ->
+                class A
+                class B extends A
+                class C extends multi A, B)
+            .should.throw "Inconsistent multiple inheritance"
+
         it 'makes sure the next constructor after a root class', ->
             obj = new Deriv()
             obj.base1 .should.equal 'base1'

                should.not.exist Map::__mro__
            if typeof Set isnt "undefined"
                should.not.exist Set::__mro__

        describe 'freezes class properties', ->
            # This is just a limitation of the approach and these

            super
            @deriv = 'deriv'


    # Tests
    # -----

    describe 'mro', ->

        it 'generates empty linearization for arbitrary object', ->
            (mro {}).should.eql []
