Access Bmesh Face corners for color attribute editing

i’m working on an operator for general mesh editing, and makes it strictly tied to bmesh
the issue i ran into is, there seems to be no clear way to access attributes mapped to face corners

the intent of this tool is to make it easy to make id maps with auto select_linked functionality and color randomization on selection

i know i can access face corners from loops but
the confusing part is a developer thread mentioning the only way to access loops is through bmesh.faces, but it seems to have been removed? with bmesh.loops having been turned read only and layer access made unusable even tho the docs state the opposite

is there a way to access face corners to change face corner color attributes values? or has it been made impossible in bmesh since those changes?

i attempted with:
face selection comprehension

for selected_loop in [mesh_loop.index for mesh_face in self.ContextBmesh.faces for mesh_loop in mesh_face.loops if (all([vert.select for vert in mesh_loop.face.verts]))]:

same with singular vertices, but i can’t find a way to put the color value on the actual face corner

but no matter what

bm.loops[selected_loop][id_layer].color = (0.0, 1.0, 0.0, 1.0)

just fails with BMLoopSeq object is not iterable

i can’t make any sense out of loop access from bmesh, was it abandoned?

i don’t want to ever do this again, but i found the answer myself and got an headache as a reward

self.ContextBmesh is simply the bmesh saved on the operator
AlxIDMap is the name of the face-corner to color mesh attribute

id_layer = self.ContextBmesh.loops.layers.float_color.get("AlxIDMap", None)
if (id_layer is not None):
    loop_selection = [[mesh_face.index, mesh_loop.index] for mesh_face in self.ContextBmesh.faces for mesh_loop in mesh_face.loops if (all([vert.select for vert in mesh_loop.face.verts]))]
    
    unique_loop_selection = []
    for loop in loop_selection:
        if (loop not in unique_loop_selection):
            unique_loop_selection.append(loop)

    for selected_loop in unique_loop_selection:
        self.ContextBmesh.faces[selected_loop[0]].loops[(selected_loop[1] % len(self.ContextBmesh.faces[selected_loop[0]].verts) )-1][id_layer] = (1.0, 0.0, 0.0, 1.0)
    bmesh.update_edit_mesh(self.ContextMesh, loop_triangles=True, destructive=False)
else:
    print("None")