docs: def subcomponents(self, subcomponents):
          """Generate subcomponents of the BEL subject or object
  
          These subcomponents are used for matching parts of a BEL
          subject or Object in the Edgestore.
  
          Args:
              AST
              subcomponents:  Pass an empty list to start a new subcomponents request
  
          Returns:
              List[str]: subcomponents of BEL subject or object
          """
  
          for arg in self.args:
              if arg.__class__.__name__ == "Function":
                  subcomponents.append(arg.to_string())
                  if arg.function_type == "primary":
                      arg.subcomponents(subcomponents)
              else:
                  subcomponents.append(arg.to_string())
  
          return subcomponents