def is_neg_do(child, question):
    """
    Returns True iff the given token
    is a "do" token which precedes a negation.
    """
    if (child.lemma_ != "do") \
       or (child.i == len(question) - 1):
        # This isn't do, or the last token
        return False

    return question[child.i + 1].dep_ == "neg"