Without doing so the children and text inside the box aren't positioned with the element. I actually do the same thing in assign_width, but It's more implicit. 

Correct me if I'm wrong, but my current understanding is as follows:
Assign_widths iterates through the children after positioning the current block, and uses the same variable that the current block used to position itself to position the children; whereas assign_height_block_base sets the children's positions before setting its own position, if I'm reading everything correctly, and uses different variables for those position attributes (which seem a little odd). 

I suppose I should add in a conditional to not pre-emptively position the children if it's a fixed block.