Train repeating signal with binary state that repeats signal of next semaphore in simple manner. It represents two states: "next block is free" and "next block is occupied".
Problem:
John have two distant bases (Amurica and Bahrain) connected with railway. He's using train to move from Amurica to Bahrain and obviously goes full speed. Unfortunately he's going too fast to notice next block is occupied and brake on time, so he crashes into train on halt in next block. Everyone dies and cargo of gas is exploding destroying last forest nearby. Could we avoid that catastrophe? Yes, we could!
Solution:
John would have enough time to brake if he saw signal repeater before proper semaphore. Signal repeater is basicly railway signal that represents two states. Base state (green or no light) means "next semaphore allows you to enter its guarded section". Warning state on other hand (yellow light) means "next semaphore has stop signal so you should slow down". Repeaters repeats signal only of one semaphore. It should not work if there are two semaphores simultaneously ahead.
References:
1) Two color repeating signal (here: yellow signal means next signal is red; otherwise it would be green).
2) One color repeating signal (yellow signal means next signal is red; otherwise it would be turned off)
Other possible solutions:
1) John should have watch minimap. Unfortunately it breaks immersion.
2) John could also see normal three signal semaphore with yellow light (as on image below). Unfortunately, factorio uses yellow light to mark section reserved by AI.
