Pop the top frame from the stack. Return the new stack.

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