structurallyEqual

inline fun <T> T.structurallyEqual(other: Any): Boolean
inline fun <T, A0> T.structurallyEqual(other: Any, a0: T.() -> A0): Boolean
inline fun <T, A0, A1> T.structurallyEqual(other: Any, a0: T.() -> A0, a1: T.() -> A1): Boolean
inline fun <T, A0, A1, A2> T.structurallyEqual(other: Any, a0: T.() -> A0, a1: T.() -> A1, a2: T.() -> A2): Boolean
inline fun <T, A0, A1, A2, A3> T.structurallyEqual(other: Any, a0: T.() -> A0, a1: T.() -> A1, a2: T.() -> A2, a3: T.() -> A3): Boolean
inline fun <T, A0, A1, A2, A3, A4> T.structurallyEqual(other: Any, a0: T.() -> A0, a1: T.() -> A1, a2: T.() -> A2, a3: T.() -> A3, a4: T.() -> A4): Boolean