The algorithm for "removeIndex(index)" could mimic the algorithm for "insert(insertIndex, newElem);" except that we would want to remove the selected node and adjust the links of the preserved nodes as needed.
We'll also want to decrement list size rather than increment.
The algorithm for "removeLast" is similar to "removeFirst". The only differences are that we do the link housekeeping appropriate for the end of the list.