def compute_cells(text_dict, booleans=None, floats=None, integers=None,
    strings=None):
    """
    Compute a row of values, using data types.

    Args:
        booleans:
        floats:
        integers:
        strings:

    Returns:
        A python lists of values
    """
    if strings is None:
        strings = []
    if integers is None:
        integers = []
    if floats is None:
        floats = []
    if booleans is None:
        booleans = []
    row = list()
    for name in booleans:
        row.append(bool(text_dict[name]) if name in text_dict else None)
    for name in floats:
        row.append(float(text_dict[name]) if name in text_dict else None)
    for name in integers:
        row.append(int(text_dict[name]) if name in text_dict else None)
    for name in strings:
        row.append(str(text_dict[name]) if name in text_dict else None)
    return row
