More information…
        # With Monkey Patching:  SUCCEEDS
        # Without Monkey Patching:  FAILS
        # Note w is of shape [6]
        # w = torch.tensor(np.array([True, True, True, True, True, True]), dtype=torch.bool)
        # x[w] = 0

        # with monkey patching:  FAILS
        # Without Monkey Patching:  SUCCEEDS
        # Note w is of shape [1,6]
        # w = torch.tensor(np.array([[True, False, True, False, True, False]]), dtype=torch.bool)
        # x[w] = 0

        # with monkey patching:  SUCCEEDS
        # Without Monkey Patching:  SUCCEEDS
        x[0, [True, False, True, False, True, False]] = 0

So getitem is somehow modifying the shape of the tensor or wrapping getitem is somehow breaking promotion of certain array shapes properly.