いつもお世話になっております。

複数のインスタンスを配列で管理し、その配列を別クラスで管理したいと考えてます。
循環参照になってしまい解放されない状況になってしまいました。
どのように配列をweakさせれば良いでしょうか?

よろしくお願い致します。

サンプルコード

class Human {
    init() {}
    deinit { print("deinit Human") }
}
class Home {
    var family: [Human?]?  // weakしたい
    init() {}
    deinit { print("deinit Home") }
}
var humanA: Human? = Human()
var humanB: Human? = Human()
var home: Home? = Home()
home!.family = [humanA!, humanB!]
humanA = nil  // deinitされない