shouldn't this line be typed as pure, instead of line 726 as impure?