Derived ArrayHandle Shouldn't make StorageType private
Lots of derived ArrayHandle types make StorageType
private which breaks the expectations on how ArrayHandles behave since the typedef is public on the parent.
This makes general purpose code to find the StorageType
of an arbitrary ArrayHandle harder as it has to do something like:
using VT = typename ArrayHandleType::ValueType;
using ST = typename ArrayHandleType::StorageTag;
return this->Storage->IsType(typeid(vtkm::cont::internal::Storage<VT, ST>));