This is pretty much as intensive as a well constructed (fmpov) will get (includes only one subclass for analysis for simplicity), and I'll admit it's a
long question. Which is why I think NautArch has a point about revisiting these types of questions