<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def connections( for_type: Optional[CONNECTION_TYPES] = None) -> List[Dict[str, str]]: """ Return the list of configured connections. This is all connections that nmcli knows about and manages. Each connection is a dict containing some basic information - the information retrievable from nmcli connection show. Further information should be queried on a connection by connection basis. If for_type is not None, it should be a str containing an element of CONNECTION_TYPES, and results will be limited to that connection type. """

    fields = ['name', 'type', 'active']
    res, _ = await _call(['-t', '-f', ','.join(fields), 'connection', 'show'])
    found = _dict_from_terse_tabular(
        fields,
        res,
        # ’ethernet’ or ’wireless’ from ’802-11-wireless’ or ’802-4-ethernet’
        # and bools from ’yes’ or ’no
        transformers={'type': lambda s: s.split('-')[-1],
                      'active': lambda s: s.lower() == 'yes'}
    )
    if for_type is not None:
        should_return = []
        for c in found:
            if c['type'] == for_type.value:
                should_return.append(c)
        return should_return
    else:
        return found