the pattern you're describing (passing server children through a client shell) also matters for props, not just component placement: anything crossing that 'use client' boundary has to be RSC-serializable, so a function or a class-instance prop silently breaks. worth calling out since the fix looks identical to the composition pattern but the actual bug is serialization, not the boundary itself.