fn pop_spine(&mut self) {
    self.spines_top -= 1;
    self.unwind_trail(self.spines[self.spines_top].ttop);
    self.top = self.spines[self.spines_top].base - 1
  }
/**
   * removes this spines for the spine stack and
   * resets trail and heap to where they where at its
   * creating time - while undoing variable binding
   * up to that point
   */
removes this spines for the spine stack and
resets trail and heap to where they where at its
creating time - while undoing variable binding
up to that point
removes this spines for the spine stack and resets trail and heap to where they where at its creating time - while undoing variable binding up to that point
fn pop_spine(&mut self) {
    self.spines_top -= 1;
    self.unwind_trail(self.spines[self.spines_top].ttop);
    self.top = self.spines[self.spines_top].base - 1
  }
fn pop_spine ( & mut self ) { self . spines_top -= 1 ; self . unwind_trail ( self . spines [ self . spines_top ] . ttop ) ; self . top = self . spines [ self . spines_top ] . base - 1 }
removes this spines for the spine stack and
 resets trail and heap to where they where at its
 creating time - while undoing variable binding
 up to that point
removes this spines for the spine stack and resets trail and heap to where they where at its creating time - while undoing variable binding up to that point
&mut self
&mut self