def METHOD_NAME(ff):
    assert "unloaded" in repr(ff.tree["science_data"])
    assert "unloaded" in str(ff.tree["science_data"])
    assert len(ff._external_asdf_by_uri) == 0
    assert_array_equal(ff.tree["science_data"], exttree["cool_stuff"]["a"])
    assert len(ff._external_asdf_by_uri) == 1
    with pytest.raises((ValueError, RuntimeError), match=r"assignment destination is read-only"):
        # Assignment destination is readonly
        ff.tree["science_data"][0] = 42
    assert_array_equal(ff.tree["science_data2"], exttree["cool_stuff"]["a"])
    assert len(ff._external_asdf_by_uri) == 2
    assert ff.tree["foobar"]() == "foobar"
    assert ff.tree["answer"]() == 42
    assert_array_equal(ff.tree["array"], exttree["list_of_stuff"][2])
    assert_tree_match(ff.tree["whole_thing"](), exttree)
    assert_array_equal(ff.tree["whole_thing"]["cool_stuff"]["a"], exttree["cool_stuff"]["a"])
    assert_array_equal(ff.tree["myself"]["science_data"], exttree["cool_stuff"]["a"])
    # Make sure that referencing oneself doesn't make another call
    # to disk.
    assert len(ff._external_asdf_by_uri) == 2
    assert_array_equal(ff.tree["internal"], exttree["cool_stuff"]["a"])