carriage returns act like cursor-down except they temporarily create new place-holders in lists of placeholders. For instance if the next text was a statement, a carriage-return would create a place-holder before the statement. The next carriage-return would delete that place-holder and move to the statement. The next would create a place-holder after the statement.