docs: def cbool(value, strict=True):
      ''' converts a value to true or false. Python's default bool() function
      does not handle 'true' of 'false' strings '''
      return_val = value
      if is_not_null(value):
          if isinstance(value, bool):
              return_val = value
          else:
              value = str(value)
              if value.lower() in ['true', '1', 't', 'y', 'yes']:
                  return_val = True
              elif value.lower() in ['false', '0', 'n', 'no', 'f']:
                  return_val = False
              else:
                  if strict:
                      return_val = None
      else:
          if strict:
              return_val = None
      return return_val