Prune source information from object such as raw lambda, raw value specification, etc.

NOTE: currently, there is no exhaustive way to do this. Majority of the cases, the source information field is suffixed with sourceInformation (e.g. profileSourceInformation, propertyTypeSourceInformation), however, we have sometimes deviated from this pattern in our protocol model, so we have fields like classSourceInformation, etc. So this is really an optimistic, non-exhaustive prune.

To do this exhaustively, we need to tweak this method to also check for the structure of the (sub)object to make sure it is structually equivalent to the shape of source information to prune it. However, this is computationally expensive.

NOTE: That aside, We should cleanup these in the backend and use pointer instead so source information is coupled with the value instead of having custom-name source information fields like these, polluting the protocol models.