in core/src/main/kotlin/motif/core/State.kt [151:162]
fun merge(states: List<State>): State {
return State(
states.map { it.sinkToSources }.merge(),
states.map { it.sourceToSinks }.merge(),
states.map { it.unsatisfied }.merge(),
states.map { it.errors }.merge(),
states.map { it.sinks }.merge(),
states.map { it.irTypeToSinks }.merge(),
states.map { it.irTypeToSources }.merge(),
states.map { it.exposeNeeded }.merge(),
states.map { it.visibleSinks }.merge())
}