docs: def solve_for(self, var=None):
          """
          Ensure that the children is within its parent
          """
          margin = self.margin_method()
          if self.parent_nw[0].value > self.child[0].value - margin:
              _update(self.child[0], self.parent_nw[0].value + margin)
          # Right edge (east)
          if self.parent_se[0].value < self.child[0].value + margin:
              _update(self.child[0], self.parent_se[0].value - margin)
          # Upper edge (north)
          if self.parent_nw[1].value > self.child[1].value - margin:
              _update(self.child[1], self.parent_nw[1].value + margin)
          # Lower edge (south)
          if self.parent_se[1].value < self.child[1].value + margin:
              _update(self.child[1], self.parent_se[1].value - margin)