def push(message, data, *args, **kwargs): head, tail = message subhead, update = util.view_update(head, view_fun) subhead, tail = codec.push((subhead, tail), data, *args, **kwargs) return update(subhead), tail
def pop(message, *args, **kwargs): head, tail = message subhead, update = util.view_update(head, view_fun) (subhead, tail), data = codec.pop((subhead, tail), *args, **kwargs) return (update(subhead), tail), data
def pop(message, *context): head, tail = message subhead, update = util.view_update(head, view_fun) (subhead, tail), data, *context = codec.pop((subhead, tail), *context) return ((update(subhead), tail), data, *context)