def convert_param_representation_to_cfn(param_dict):
    """
    Convert params from {"ParamName: "ParamVal", ...} format to the format expected by the CloudFormation API
    [{"ParameterKey": "ParamName", "ParameterValue": "ParamVal}, ...] correctly handling bools and optional params.
    """
    param_list = []
    for k, v in param_dict.items():
        if v is None:
            v = ''
        if isinstance(v, bool):
            v = str(v).lower()
        param_list.append({'ParameterKey': k, 'ParameterValue': v})
    return param_list
