I have those two interfaces: ```public interface ...
# getting-started
j
I have those two interfaces:
Copy code
public interface FirstInterface {
    public fun print(message: String, color: String = "#000000")
}

public interface SecondInterface {
    public fun print(message: String)
    public fun print(message: String, color: String)
}
I did setup binary-compatibility-validator to check if there are any differences between those two, and there are but I'm not sure why?
Copy code
public abstract interface class dev/nesk/akkurate/FirstInterface {
	public abstract fun print (Ljava/lang/String;Ljava/lang/String;)V
}

public final class dev/nesk/akkurate/FirstInterface$DefaultImpls {
	public static synthetic fun print$default (Ldev/nesk/akkurate/FirstInterface;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V
}

public abstract interface class dev/nesk/akkurate/SecondInterface {
	public abstract fun print (Ljava/lang/String;)V
	public abstract fun print (Ljava/lang/String;Ljava/lang/String;)V
}
Why can't
SecondInterface
have the same binary compatibility as
FirstInterface
?