Return a fresh anomaly of the same category with ctx merged into the existing data, preserving this instance as the cause. An empty ctx returns this instance unchanged.
Convert a Throwable to the appropriate Anomaly subclass, attaching ctx as extra context data. An incoming Anomaly is wrapped in a fresh instance of the same category with the merged context, preserving the original as the cause.