class value Foo value private class Foo value @Bar class Foo value interface Foo value abstract class Foo value object Foo value fun foo(){} value class Foo value class Foo { val l = 1 fun invoke() } private value class Foo expect value class Foo actual value class Foo @Bar value class Foo class TopLevel { value class Foo } value class Foo