@Retention(AnnotationRetention.RUNTIME) @Target(AnnotationTarget.FUNCTION) annotation class with interface Comparable @with> //A needs to be concrete and it's not associated to A below fun A.compare(other: A): Int = TODO()