docs: def pop(self):
          """
          Pop the top frame from the stack. Return the new stack.
          """
          if self.next is None:
              raise SimEmptyCallStackError("Cannot pop a frame from an empty call stack.")
          new_list = self.next.copy({})
  
          if self.state is not None:
              self.state.register_plugin('callstack', new_list)
              self.state.history.recent_stack_actions.append(CallStackAction(
                  hash(new_list), len(new_list), 'pop', ret_site_addr=self.ret_addr
              ))
  
          return new_list