How to add geometry cache to MovieSceneGeometryCacheSection in Sequencer using Python

I’m trying to add an alembic geometry cache to the sequencer using python.
When I run the last line of the following code I get an error saying:

LogPython: Error: Traceback (most recent call last):
LogPython: Error:   File "<string>", line 1, in <module>
LogPython: Error: AttributeError: 'MovieSceneGeometryCacheSection' object has no attribute 'params'

According to the documentation though the ‘params’ attribute should definitely be available:
https://docs.unrealengine.com/5.0/en-US/PythonAPI/class/MovieSceneGeometryCacheSection.html

sequence = unreal.load_asset("/Game/test_sequence")
cache = unreal.load_asset("/Game/test_anim_cache")
binding = sequence.add_spawnable_from_instance(cache)
anim_track = binding.add_track(unreal.MovieSceneGeometryCacheTrack)
anim_section = anim_track.add_section()

# errors out here
anim_section.params.geometry_cache_asset = cache

Is this a bug in the Python API or am I doing something wrong here?

I am also trying to figure this out. the anim_section object has some methods you can try:

I found it!

params= anim_section.get_editor_property("params")
params.set_editor_property("geometry_cache_asset",cache)
unreal.LevelSequenceEditorBlueprintLibrary.refresh_current_level_sequence()

It’s kind of a revelation that unreal python is all getter and setters instead of assigning values to directly to attributes. you are essentially controlling the editor with Python vs. pure python bound to C++ under the hood. Now that I grok that I think learning this stuff will be much easier.