I don't follow the reasoning behind this. Consider the case where type evaluates `true`, then, type is simply assigned to itself which is unnecessary. Next, consider the case where type evaluates `false`, then, type is assigned false but type already evaluates to false so there is no reason for the assignment. I think this line can be removed.