Takeaway from the customer/invoice/receipt STI example. Code that looks similar today may represent different domain knowledge (invoices and receipts are different papers issued at different times). Forcing such coincidental similarity into a shared abstraction (e.g. an STI Document parent) produces a God object as differences accrete. Only unify representations when they genuinely share the same knowledge.