def infer_type_from_types(types):
    """
    Infer types of a field from its original type list.
    """

    type_kinds = len(types)

    if type_kinds == 0:
        field_type = "empty"
        implied_type = "empty"
    elif type_kinds == 1:
        field_type = types[0]
        implied_type = types[0]
    elif type_kinds == 2:
        field_type = "mixed"
        if "integer" in types and "float" in types:
            implied_type = "float"
        else:
            implied_type = "string"
    else:
        field_type = "mixed"
        implied_type = "string"

    return field_type, implied_type