Fixed simulator, fixed working dff. recursive logic wihout delays simply fails to advance the simulator, meta stable conditions never stabilises, could be fixed with detection logic that simply proceeds.