Locks the list, returning an immutable list (IList).
IList<T?>? get lock => (_iList != null) ? _iList : _list!.lock;