As property values can have different types they are currently implemented as `Dictionary<string, object>`. Find an implementation to avoid boxing/unboxing.