fsm: safe delete of fn from off; fixes bug in til/race