A bug with Scala's duck typing implementation allows methods of non-public classes that implement public interfaces (or override public base class methods) to get invoked directly on the non-public class' member (which is illegal and provokes an IllegalAccessException) rather than indirectly via the public parent class or interface method.