In Vapor v3, Fluent was more loosely-coupled with a project’s model: One could extend an existing model to have it conform to Fluent’s mechanisms. This was great since it allowed complex models to be ignorant on Fluent, and those models could then be isolated into their own modules and linked into other projects that would use the same model but not Vapor.
Unless I’m mistaken — and I hope I am — Vapor v4 has gone all-in with Property Wrappers but has lost loose-coupling in doing so. Models now need to be explicitly changed/coded to be aware of Fluent’s PropertyWrappers.
Have I overlooked or missed a way to use Vapor v4's Fluent and still have a model completely ignorant — allowing it to be a module included in more projects — without resorting to
#if and declaring stub types when Fluent isn't present?
I hope my wording isn’t too negative or aggressive… that’s not the goal. Apologies if this post doesn’t belong here.