Description
Context from #880 (comment) & #852 (comment) explains that we use 2 functions:
get_annotations - this contains a lot of tricky logic which may be difficult to maintain ourselves
get_annotate_from_class_namespace - this (currently) contains simple dictionary lookups which would be unlikely to cause a maintenance burden
The task here is only to assess how each of these functions impacts our performance and startup overhead.