Fixed a subtle bug in insert

Basically on insert, it could have failed when you insert:

    aaa
    aaaa
    aaa

because on the third insert it would call

    n.m.insert(aaa0, -, 4)

and 3 is out of bounds on aaa0. the solution was to special case that
situation.

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>