This is pretty nice. We can now have agents spawn other agents and
actually get super cool functionality from it.
The pattern might be a little fragile.
Still not super sure how to represent these agents in code.
It doesn't make the most amount of sense to keep them in structs. A
curried function is more like it, with system prompt and tooling.
Maybe that's what I'll end up doing.