def _solve_insert_ambiguity(insert):
    """
    Deals with ambiguities in the insert part. They arise between locations
    and lengths.

    Example:
    - REF:100>200 - 200 can be interpreted as a location or a length.

    We interpret insert as length (size) for the following:
    - NUMBER
    - (NUMBER)
    - (NUMBER_NUMBER)
    Examples:
    - 10, (10) something of length 10 is inserted;
    - (10_20): something of a length between 10 and 20 is inserted.
    - (?_20)
    - (20_?)
    - ?

    We interpret insert as location for the following:
    - point_point
    - (point_point)_point
    - point_(point_point)
    Examples:
    - 10_20
    - 10_(20_30)
    - (10_20)_30
    - (10_20)_(30_40)
    """
    if len(insert.children) == 2:
        if insert.children[0].children[0].data == 'length' and insert.children[
            1].children[0].data == 'location':
            return insert.children[0]
        elif insert.children[0].children[0
            ].data == 'location' and insert.children[1].children[0
            ].data == 'length':
            return insert.children[1]
