@internal<EOL>def mkArrayUpdater(nextItemVal: Value, indexes: Tuple[Value],<EOL>invalidate: bool):
def updater(currentVal):<EOL><INDENT>if len(indexes) > <NUM_LIT:1>:<EOL><INDENT>raise NotImplementedError("<STR_LIT>")<EOL><DEDENT>_nextItemVal = nextItemVal.clone()<EOL>if invalidate:<EOL><INDENT>_nextItemVal.vldMask = <NUM_LIT:0><EOL><DEDENT>index = indexes[<NUM_LIT:0>]<EOL>change = valueHasChanged(currentVal._getitem__val(index), _nextItemVal)<EOL>currentVal._setitem__val(index, _nextItemVal)<EOL>return (change, currentVal)<EOL><DEDENT>return updater<EOL>
Create value updater for simulation for value of array type

:param nextVal: instance of Value which will be asssiggned to signal
:param indexes: tuple on indexes where value should be updated
    in target array

:return: function(value) -> tuple(valueHasChangedFlag, nextVal)