Challenge 3: Use-Site Targets — Solution @Target(AnnotationTarget.FIELD) annotation class Sensitive @Target(AnnotationTarget.PROPERTY_GETTER) annotation class Logged class UserAccount( @field:Sensitive val password: String, @get:Logged val username: String ) /* No printed output — this challenge is about correct annotation placement, not runtime behavior. Notes: - @Sensitive is declared with @Target(AnnotationTarget.FIELD), meaning it can ONLY be legally applied to a field. A Kotlin property compiles to both a field and a getter (and more), so without the "@field:" prefix, the compiler wouldn't know which of those underlying elements to attach @Sensitive to, and (given its FIELD-only target) plain "@Sensitive val password: ..." would actually fail to compile as ambiguous/invalid without the use-site target. - @Logged is declared with @Target(AnnotationTarget.PROPERTY_GETTER), so it must use the "@get:" prefix to land specifically on the generated getter function, not the field or the constructor parameter. - Leaving off the use-site target here isn't just a style choice — since each annotation's @Target already restricts it to one specific underlying element (not the property itself), the correct prefix is required for the code to compile at all. */