code: def argument(self) -> bool:
          
          next = self.peek()
          if next == "'":
              quoted = True
              self.sq_argument()
          elif next == '"':
              quoted = True
              self.dq_argument()
          elif self._arg == "":
              quoted = False
              self.unq_argument()
          else:
              raise UnexpectedInput(self, "single or double quote")
          self.opt_separator()
          next = self.peek()
          if next == ";":
              return False
          if next == "{":
              return True
          elif quoted and next == "+":
              self.offset += 1
              self.opt_separator()
              return self.argument()
          else:
              raise UnexpectedInput(self, "';', '{'" +
                                    (" or '+'" if quoted else ""))
docs: Parse statement argument.
  
          Return ``True`` if the argument is followed by block of substatements.