Interface Driven • 💰 Don’t need cinterop • 💰 No weird linking • 💰 No extra binary size • 🗑 Not easily testable • 🗑 Impractical for complex situations • 🗑 Bad for libraries
expect open class DocumentSnapshot DocumentSnapshot actual typealias DocumentSnapshot = FIRDocumentSnapshot iOS common actual typealias DocumentSnapshot = com.google.firebase.firestore.DocumentSnapshot Android