Currently we just allow dictionaries, but we might as well permit `IEnumerable<KeyValuePair<..>>` instead of `IDictionary<..>`