So we have the following tree for our types:
B / \ S P
Where S & P both mix B and introduce no new fields except entity. So S & P are distinct Types on distinct tables and this must remain true.
We need to upsert/copy S to P as smoothly as possible when a function is called. How should I go about coercing the S type into the P type without losing data?