so actually the annotation would be `@param array|Traversable` and the handling of KeyValueContainer an implementation detail of our implementation.