Conditions for element `type` and `businessObject.$type` to be different?

Consider something like

let el = elementRegistry.get("myElementId")

What scenarios where the element vs business object have different type values?

el.type

vs

el.businessObject.$type

thanks

Can you explain why this is important to you?

As far as I know, when creating BPMN elements, the element.type is basically the BPMN type which is also stored in the business object.

An edge case here are labels: bpmn-js/ElementFactory.js at master · bpmn-io/bpmn-js · GitHub

@Niklas_Kiefer I am mapping the elements to classes and create wrappers, and I am trying to understand the class structures that have been put in place.