I will sometimes duplicate interlocking logic on the output rungs solely for the purpose of making some input states visible just to make things easier on a maintenance tech. One example of this might be a valve that should be open during the fill state. The only logic needed to turn on an output to a valve might be
State.Fill Valve
----] [--------------( )---
A level switch might control the change of state so putting it on
the rung is redundant, but I might still code
State.Fill LevelSw Valve
----] [-------] [-------( )---
just to make the input more visible to a maintenance tech.
Just do what seems to make the program the most manageable.