{-# LANGUAGE UndecidableInstances, KindSignatures, TypeApplications, FlexibleInstances #-} 
 
class  A ( m ::  *  ->  * ) 
 
class  A1 ( m ::  *  ->  * ) 
 
class  B ( m ::  *  ->  * ) 
 
instance  A m =>  B m
 
instance  {-# OVERLAPPING #-}  A1 m =>  B m
 
data  C a
 
instance  A C
 
data  D a
 
instance  A1 D
 
implicitly ::  a =>  ( ) 
implicitly =  ( ) 
 
test =  implicitly @ ( B C) 
test1 =  implicitly @ ( B D) 
 
 
				ey0jIExBTkdVQUdFIFVuZGVjaWRhYmxlSW5zdGFuY2VzLCBLaW5kU2lnbmF0dXJlcywgVHlwZUFwcGxpY2F0aW9ucywgRmxleGlibGVJbnN0YW5jZXMgIy19CgpjbGFzcyBBIChtIDo6ICogLT4gKikKCmNsYXNzIEExIChtIDo6ICogLT4gKikKCmNsYXNzIEIgKG0gOjogKiAtPiAqKQoKaW5zdGFuY2UgQSBtID0+IEIgbQoKaW5zdGFuY2Ugey0jIE9WRVJMQVBQSU5HICMtfSBBMSBtID0+IEIgbQoKZGF0YSBDIGEKCmluc3RhbmNlIEEgQwoKZGF0YSBEIGEKCmluc3RhbmNlIEExIEQKCmltcGxpY2l0bHkgOjogYSA9PiAoKQppbXBsaWNpdGx5ID0gKCkKCnRlc3QgPSBpbXBsaWNpdGx5IEAoQiBDKQp0ZXN0MSA9IGltcGxpY2l0bHkgQChCIEQpCgptYWluID0gcHJpbnQgIm9rIg==
				
				 
				 
				 
				 
			 
			
				
			
			
				
	
		
	 
	
		  compilation info 
		 
	 
	[1 of 1] Compiling Main             ( prog.hs, prog.o )
prog.hs:9:10: error:
    Duplicate instance declarations:
      instance A m => B m -- Defined at prog.hs:9:10
      instance [overlapping] A1 m => B m -- Defined at prog.hs:11:30
  |
9 | instance A m => B m
  |          ^^^^^^^^^^
 
		
		 
	
		
		  stdout