realized logic for trapping is incomplete : /