code: def coerce(self, value):
          
          if self.type == Style:
              return value
          elif self.type == list:
              return self.type(
                  map(self.subtype, map(lambda x: x.strip(), value.split(',')))
              )
          elif self.type == dict:
              rv = {}
              for pair in value.split(','):
                  key, val = pair.split(':')
                  key = key.strip()
                  val = val.strip()
                  try:
                      rv[key] = self.subtype(val)
                  except Exception:
                      rv[key] = val
              return rv
          return self.type(value)
docs: Cast a string into this key type