How to write natvis for NDArray

Hi All,

I have been using Rust for some time and I found that the default debug view behaviour is not good for some items. Recently, I came to know I can write natvis to write a custom view output. I tried the below natvis and it worked for a new ndarray::ArrayBase,

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="ndarray::ArrayBase&lt;*,*&gt;">
      <DisplayString>{{Modified by Me}}</DisplayString>
      <Expand HideRawView="false">  
            <ArrayItems>  
                  <Direction>Forward</Direction>  
                  <Rank>2</Rank>  
                  <Size>$i==0?(int)dim.index[0]:(int)dim.index[1]</Size>  
                  <ValuePointer>data.ptr.pointer</ValuePointer>  
            </ArrayItems>  
      </Expand>
</Type>
</AutoVisualizer>

However, when I do a arr.column(i), the structure is different because it returns ViewRepr. I tried changing Natvis to accomodate the new structure but it didn't work. I am getting, unable to read memory.
Below is the natvis I tried,

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="ndarray::ArrayBase&lt;ndarray::CowRepr&lt;*&gt;,*&gt;">
      <DisplayString>{{Modified by me}}</DisplayString>
      <Expand HideRawView="false">  
            <ArrayItems>
                  <Size>100</Size>
                  <ValuePointer>data.RUST$ENCODED$ENUM$0$View.__0.ptr.pointer</ValuePointer>
            </ArrayItems>
      </Expand>
</Type>
</AutoVisualizer> 

For your reference, below is the output shown in debug window without natvis modification,
image

Any suggestion on how I can modify this?