I'd love for delete(struct,path) to have an option to always return struct, even if path wasn't found in struct. I'm not sure if it's a new call, or an optional third param to delete() or pop().