(alterSection, nAlts, initial, dispatch) => alterTag => ({ getAlt: alter => { const { [alterTag]: alt = initial || 0 } = alter return alt }, nextAlt: handle(dispatch, nextAlt, alterSection, alterTag, nAlts, initial), initAlt: handle(dispatch, setAlt, alterSection, alterTag, initial), setAlt: alt => handle(dispatch, setAlt, alterSection, alterTag, alt), putAlt: alt => dispatch(setAlt(alterSection, alterTag, alt)), }),
setAlt: alt => handle(dispatch, setAlt, alterSection, alterTag, alt),