code: def apply_with(self, _, v, ctx):
          
          self.v = None
          if isinstance(v, float):
              self.v = datetime.date.fromtimestamp(v)
          elif isinstance(v, datetime.date):
              self.v = v
          elif isinstance(v, six.string_types):
              self.v = from_iso8601(v).date()
          else:
              raise ValueError('Unrecognized type for Date: ' + str(type(v)))
docs: constructor
  
          :param v: things used to constrcut date
          :type v: timestamp in float, datetime.date object, or ISO-8601 in str