udalov
class Some(val x: String, val y: Int, val z: Double) { private object Eq : StructuredEquality<Some>(Some::x, Some::y, Some::z) override fun equals(other: Any?) = equalsBy(other, Eq) override fun hashCode() = hashCodeBy(Eq) }