Jacek Modrakowski
@instance(User::class) interface UserEqInstance : Eq<User> { override fun eqv(a: User, b: User): Boolean = a.firstName == b.firstName }