Pretty weird stuff (not specifically because of `type`; what you're replacing was pretty weird too). I'm assuming there's really no other way because of how reports need to be classes and not instances or something.

Wondering if it's worth being explicit about `'AppCareplanReport%s'` and listing out all the possibilities—dynamically generated names make things hard to grep, as was the case with view cleanup where something was getting referenced as `'blah/foo_bar_%' % baz`