This is a general limitation: when using the same layer for boolean and other two-layer-operations such as "interacting", the result may be incorrect. For example: ``` deep layer1 = input(1, 0) same = layer1 & layer1 ``` This is a somewhat contrived example, but in some scenarios with conditional branches, it may be difficult to avoid this situation in general. Hence, the behavior should be as expected - in case of the "and" operation above, the same-layer boolean should fall back to a copy.