Yeah the tfstate was a big gotcha. Pulumi has the same problems.
What we really need is automatic reconciliation. I.e ask the provider what they have and then diff against that.
Or periodically auto-importing.
Are there any good solutions to auto-importing?