Added deep type reassignment