recorded() removes the last step if it isn't the only step and it's empty (see #93)