bring back prefix/postfix handling. simplify swap_chars.