There is also rust-script[1] which runs "Rust files and expressions as scripts without any setup or compilation step." I wrote a data loader[2] in it for my Observable Framework project and have been very happy with its performance and overall ease including hot-reloading.
Indeed, overuse of lifetimes is a common novice mistake. In most real-world programs lifetime annotations are very rarely needed.
The worst disaster of nonsensical <'a> exploding everywhere comes from novices trying to use Rust's references to store objects "by reference" in a struct, without understanding that in Rust references have a completely opposite meaning that forbids storing the data.
[1] https://rust-script.org
[2] https://observablehq.com/framework/loaders#routing