Yeah, I've gotten it to write some pretty decent contracts, but only because I have written said contracts and can ask it all the right questions/prod it into adding what I need.
It will only be a better contract if it better meets the actual real world requirement, rather than the requirement it was literally given. That means inferring information that isn't there. Now that is possible for common situations but not reliably even for a human expert. The way a human lawyer would do that is by interrogating the client and asking about likely additional requirement and iterating on them to agree on a final requirement. Current LLM architectures aren't capable of this, and it's hard to see how they could be re-architected to do it because it's a very different kind of task, but if that ever is achieved then there may be no limit to what such a system can do.