The last concern is already kind of handled in the Slot positioning code. There is this current_position object. It takes not of the current x position to position elements but also of the "max_bottom" - e.g. the element in the current line that reaches down the furthest. You could make that current_position an optional argument to contents alignment. I think then you also don't have to go for the sibling, so it'd be an overall win/win I guess :-)

Also there is already code in the positioning section to move stuff to the next line.