What is a source set?A set of source files and dependencies used by target compilations. CommonMain is shared by this module's configured targets, not automatically by every possible Kotlin platform. Project structure.
Why use an intermediate source set such as iosMain?It shares code across the configured iOS targets. The default template creates applicable intermediate sets from the target graph; explicitly added dependsOn relationships can affect automatic template application. Hierarchy.
Is exposing Flow to Swift always a direct translation?No. In an Objective-C-exported framework, Flow is not automatically a general Swift AsyncSequence. Define a bridge with explicit subscription ownership, cancellation and error behavior. Separate Swift export and third-party bridges have their own contracts. Objective-C interop.
What would you put in shared code?Share rules, models and APIs available to every required target; isolate system integrations behind a suitable contract. The boundary is a project decision based on platform needs and testability, not a goal of sharing every line. Project structure, interfaces and expect/actual.