Immutable Companion
Give user another choice, like this
@Immutable // or `@Entity`, `@Embeddable`
interface Book {
...omit properties...
companion object: ImmutableCompanion
}
val book = Book {
id = 1L
name = "Learning GraphQL"
}