BitCycle

 | 
Done.

Cheat Sheet +

<, ^, >, and v change a bit's direction unconditionally

+ changes a bit's direction conditionally: 0 turns left; 1 turns right

/ and \ (splitters) deflect first bit, pass others straight through

= (switch) changes form based on first bit: if 0, becomes { and sends following bits west; if 1, becomes } and sends following bits east

A-U and W-Z (collectors) store bits in a queue when closed and emit them, moving east, when open

? (source) emits bits from input, moving east

! (sink) outputs bits

~ (dupneg) copies a bit; original copy turns right, inverted copy turns left

0 and 1 create a bit at the start of the program, moving east

@ halts program