docs: def belspec_yaml2json(yaml_fn: str, json_fn: str) -> str:
      """Enhance BEL specification and save as JSON file
  
      Load all BEL Specification YAML files and convert to JSON files
      after enhancing them.  Also create a bel_versions.json file with
      all available BEL versions for fast loading.
  
      Args:
          yaml_fn: original YAML version of BEL Spec
          json_fn: enhanced JSON version of BEL Spec
      Returns:
          str: version of BEL Spec
      """
  
      try:
          spec_dict = yaml.load(open(yaml_fn, "r").read(), Loader=yaml.SafeLoader)
  
          # admin-related keys
          spec_dict["admin"] = {}
          spec_dict["admin"]["version_underscored"] = spec_dict["version"].replace(".", "_")
          spec_dict["admin"]["parser_fn"] = yaml_fn.replace(".yaml", "_parser.py")
  
          # add relation keys list, to_short, to_long
          add_relations(spec_dict)
          # add function keys list, to_short, to_long
          add_functions(spec_dict)
          # add namespace keys list, list_short, list_long, to_short, to_long
          add_namespaces(spec_dict)
  
          enhance_function_signatures(spec_dict)
  
          add_function_signature_help(spec_dict)
  
          with open(json_fn, "w") as f:
              json.dump(spec_dict, f)
  
      except Exception as e:
          log.error(
              "Warning: BEL Specification {yaml_fn} could not be read. Cannot proceed.".format(
                  yaml_fn
              )
          )
          sys.exit()
  
      return spec_dict["version"]