canImport って SwiftPM で管理された二つの独立した(別リポジトリの)パッケージ間で利用することはできるんでしょうか?canImport(B) が書いてあって extension が生やされていて、 C が A と B の両方に依存している場合にはその extension が使えるけど、 A にしか依存していない場合はその extension が使えないとか。canImport(B) とはいえ A が B に依存していないといけない気がしていて、そうすると常に canImport(B) が真になる気がします。 optional な dependency が記述できないと実現できなさそう。