bililiteRange.undo should be chainable
vi bugfix
add forEach polyfill