# Should Uniffi exported API use the existing structs or should we create seperate structs We decided to use separate structs because it will allow us to more easily preserve backwards compatibility. It will also prevent weird stuff in Uniffi from effecting the regular Rust API. ## Seperated structs pros: * changes to regular API are shielded * changes to FFI API won't effect regular API * can rename by just changing function/method names. Currently renames not supported cons: * we could forgetting to change the FFI API when regular is updated ## Same structs pros: * code co-location * less code potentially * when methods are added the are automatically added to both interfaces cons: * requirements coming from uniffi would bleed into how we expose regular Rust FFI