I think we need another elif or something to properly deal with the case that an end is specified, but it's great than the length of the inserted string. Consider the last case here:

    >>> from fmtstr.fmtstr import fmtstr
    >>> a = fmtstr('ab', 'blue') + fmtstr('cd', 'green')
    >>> a.insert('ef', 0)
    "ef"+blue("ab")+green("cd")
    >>> a.insert('ef', 0, 1)
    "ef"+blue("b")+green("cd")
    >>> a.insert('ef', 0, 2)
    "ef"+green("cd")
    >>> a.insert('ef', 0, 3)
    "ef"+green("cd") # I think this should be "ef"+green("d")