<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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"]