I'm a bit puzzled - I marked interface as internal but I have public class that implements it and it doesn't lead to compilation error. However, similar situation in a different module with a bit bigger hierarchy I get compile error. I'm trying to investigate bytecode but I since internal is kotlin invention that is probably laying in the metadata annotation.