type guards

also fix a backdrop regression in windowing