public static Int32 GetOffset(ExprType base_type, IReadOnlyList<Int32> indices) {
Int32 offset = 0;
ExprType from_type = base_type;
foreach (Int32 to_index in indices) {
offset += GetOffset(from_type, to_index);
from_type = GetType(from_type, to_index);
}
return offset;
}