code: def experimental_design(self) -> Any:
          
          if not self.samples:
              raise ValueError('No samples in sample sheet')
  
          markdown = tabulate(
              [[getattr(s, h, '') for h in DESIGN_HEADER] for s in self.samples],
              headers=DESIGN_HEADER,
              tablefmt='pipe',
          )
  
          return maybe_render_markdown(markdown)
docs: Return a markdown summary of the samples on this sample sheet.
  
          This property supports displaying rendered markdown only when running
          within an IPython interpreter. If we are not running in an IPython
          interpreter, then print out a nicely formatted ASCII table.
  
          Returns:
              Markdown, str: A visual table of IDs and names for all samples.