code: def dumps(o, encoder=None):
      
  
      retval = ""
      if encoder is None:
          encoder = TomlEncoder(o.__class__)
      addtoretval, sections = encoder.dump_sections(o, "")
      retval += addtoretval
      while sections:
          newsections = encoder.get_empty_table()
          for section in sections:
              addtoretval, addtosections = encoder.dump_sections(
                  sections[section], section)
  
              if addtoretval or (not addtoretval and not addtosections):
                  if retval and retval[-2:] != "\n\n":
                      retval += "\n"
                  retval += "[" + section + "]\n"
                  if addtoretval:
                      retval += addtoretval
              for s in addtosections:
                  newsections[section + "." + s] = addtosections[s]
          sections = newsections
      return retval
docs: Stringifies input dict as toml
  
      Args:
          o: Object to dump into toml
  
          preserve: Boolean parameter. If true, preserve inline tables.
  
      Returns:
          String containing the toml corresponding to dict