def eligible_for_account(affiliations):
    """Returns whether the list of affiliations makes one eligible for an
    account.
    """
    affiliations = set(affiliations)
    ALLOWED_AFFILIATES = {'AFFILIATE-TYPE-CONSULTANT',
        'AFFILIATE-TYPE-LBLOP STAFF', 'AFFILIATE-TYPE-VISITING SCHOLAR',
        'AFFILIATE-TYPE-VOLUNTEER', 'AFFILIATE-TYPE-HHMI RESEARCHER',
        'AFFILIATE-TYPE-VISITING STU RESEARCHER',
        'AFFILIATE-TYPE-LBL/DOE POSTDOC', 'AFFILIATE-TYPE-TEMP AGENCY',
        'AFFILIATE-TYPE-COMMITTEE MEMBER',
        'AFFILIATE-TYPE-STAFF OF UC/OP/AFFILIATED ORGS',
        'AFFILIATE-TYPE-CONTRACTOR', 'AFFILIATE-TYPE-CONCURR ENROLL'}
    if (affiliations & ALLOWED_AFFILIATES and 'AFFILIATE-STATUS-EXPIRED' not in
        affiliations):
        return True
    if {'EMPLOYEE-TYPE-ACADEMIC', 'EMPLOYEE-TYPE-STAFF'
        } & affiliations and 'EMPLOYEE-STATUS-EXPIRED' not in affiliations:
        return True
    if {'STUDENT-TYPE-REGISTERED', 'STUDENT-TYPE-NOT REGISTERED'
        } & affiliations and 'STUDENT-STATUS-EXPIRED' not in affiliations:
        return True
    return False
