code: def parse_value(self, inner_dict, label, key, value, default):
          
          t = type(default)
  
          if t is dict:
              return
      
          select = self.data.get_select(key)
          k = key.split('.')[-1]
  
          if select:
              inner_dict[k] = self.prompt.select(label, select, value, default = default)
  
          # If the value type is a boolean, prompt a boolean.
          elif t is bool:
              inner_dict[k] = self.prompt.bool(label, value, default = default)
  
          # If the value is an int, prompt and int.
          elif t is int:
              inner_dict[k] = self.prompt.int(label, value, default = default)
  
          # If someone has put a list in data, we default it to an empty string. If it had come from the schema, it would already be a string.
          elif t is list:
              inner_dict[k] = self.prompt.prompt(label + ':', value, default = '')
  
          # If none of the above are true, it's a string.
          else:
              inner_dict[k] = self.prompt.prompt(label + ':', value, default = default)
docs: Parses a single value and sets it in an inner dictionary.
  
              Arguments:
              inner_dict -- The dictionary containing the value to set
              label      -- The label to show for the prompt.
              key        -- The key in the dictionary to set the value for.
              value      -- The value to set. If there is a value, don't prompt for one.
              default    -- The default value in the prompt. This is taken from the schema and defines the type of the value.