UnhookValue(_list[index]);
set => SetProperty(ref _list, value);
if (_list != null && !ReferenceEquals(_list[index], value))
get => ToEnum(_list[index]);
OnEvent(ItemRemoved, index, _list[index]);