protocol KeyedDecodingContainerProtocol { /// Decodes a value of the given type for the given key. /// /// If the encountered value is a reference to an existing object previously decoded as part of this object graph, this will return the existing object instead of a new copy of it. func decode<T : Decodable>(_ type: T.Type, forKey key: Key) throws -> T }
YAMLには別オブジェクトの参照を表す方法があるけど、他にもあるのかな。