docs: def compile(self,
                  container: Container,
                  verbose: bool = False
                  ) -> CompilationOutcome:
          """
          Attempts to compile the program inside a given container.
  
          Params:
              container: the container whose program should be compiled.
              verbose: specifies whether to print the stdout and stderr produced
                  by the compilation command to the stdout. If `True`, then the
                  stdout and stderr will be printed.
  
          Returns:
              a summary of the outcome of the attempted compilation.
  
          Raises:
              KeyError: if the container no longer exists.
          """
          path = "containers/{}/build".format(container.uid)
          params = {}
          if verbose:
              params['verbose'] = 'yes'
          r = self.__api.post(path, params=params)
          if r.status_code == 200:
              return CompilationOutcome.from_dict(r.json())
          self.__api.handle_erroneous_response(r)