             super
             @deriv = 'deriv'
 
+
     # Tests
     # -----
 
     describe 'mro', ->
-
-        it 'throws an error when trying to linearize non-linearizable class hierarchy', ->
-            expect (A, B, C) ->
-                class A
-                class B extends A
-                class C extends multi A, B
-            .to.throw(Error)
 
         it 'generates empty linearization for arbitrary object', ->
             (mro {}).should.eql []

                    C.classMethod().should.equal 'Base2Base1'
                )(0, 0, 0)

        it 'overrides class methods properly in recursive multi case', ->
            # exclude Object
            for cls in mro(G)[0...-1]
                cls.overrideNoSuper().should.equal cls.name.toLowerCase()

        it 'gets constructed properly', ->
            obj = new D()

            (isinstance new Pedalo(), D).should.be.false
            (isinstance new Pedalo(), A).should.be.false
            (isinstance new Pedalo(), SmallCatamaran).should.be.true


    describe 'issubclass', ->

