docs: def convert(ast):
      """Convert BEL1 AST Function to BEL2 AST Function"""
  
      if ast and ast.type == "Function":
          # Activity function conversion
          if (
              ast.name != "molecularActivity"
              and ast.name in spec["namespaces"]["Activity"]["list"]
          ):
              print("name", ast.name, "type", ast.type)
              ast = convert_activity(ast)
              return ast  # Otherwise - this will trigger on the BEL2 molecularActivity
  
          # translocation conversion
          elif ast.name in ["tloc", "translocation"]:
              ast = convert_tloc(ast)
  
          fus_flag = False
          for idx, arg in enumerate(ast.args):
              if arg.__class__.__name__ == "Function":
  
                  # Fix substitution -> variation()
                  if arg.name in ["sub", "substitution"]:
                      ast.args[idx] = convert_sub(arg)
  
                  elif arg.name in ["trunc", "truncation"]:
                      ast.args[idx] = convert_trunc(arg)
  
                  elif arg.name in ["pmod", "proteinModification"]:
                      ast.args[idx] = convert_pmod(arg)
  
                  elif arg.name in ["fus", "fusion"]:
                      fus_flag = True
  
                  # Recursively process Functions
                  ast.args[idx] = convert(ast.args[idx])
  
          if fus_flag:
              ast = convert_fus(ast)
  
      return ast