>returning a 200 and a body containing "error: I didn't do what you said because _insert error here_"
I've seen this approach before, it mostly follows from using the code to signal application errors (200 + ok/error) from other kinds of errors that might arise.
I have a tiny but very comfy bluetooth keyboard, though 90% of the time I use a keyboard with android I'm using my tablet (and it's easy to forget it's not a laptop).
I recall a conversation I had with a climate researcher some years ago in France that left me surprised. To paraphrase, they explained that forecasting a system as complex as the climate is difficult and naturally leads to many different outcomes.
One subset of those outcomes, is that conditions would arise such that plant development is accelerated, something like a junglification (my word, probably butchering it).