### sequence function: if

```    description:
if(ket, seq, seq)
if(ket, seq, seq, seq)
a crude approximation to an if function
NB: it does not work the way you think it does!

For example:
if(some|condition>, branch|a>, branch|b>)
evaluates all sequences: some|condition>, branch|a>, branch|b> before it is even fed to the if function.
This is a big problem if you try to use it for recursion.
But it is possible if you do an extra couple of steps:
process-if if(some|condition>, |a>, |b>)
process-if |a> #=> foo1
process-if |b> #=> foo2
Or:
process-if if(some|condition>, |a:> __ |_self> , |b:> __ |_self>)
process-if |a: *> #=> foo1 remove-leading-category |_self>
process-if |b: *> #=> foo2 remove-leading-category |_self>

3 parameter version:
if(some|condition>, |branch a>, |branch b>, |branch c>)
returns |branch a> if some|condition> is 'true' or 'yes'
returns |branch b> if some|condition> is 'false' or 'no'
returns |branch c> otherwise

examples:
split-num |*> #=> process-if if(is-less-than[1000] |_self>, |less than 1000:> __ |_self>, |greater than 1000:> __ |_self>)
process-if |less than 1000: *> #=> remove-leading-category |_self>
process-if |greater than 1000: *> #=> mod[1000] remove-leading-category |_self> . split-num int-divide-by[1000] remove-leading-category |_self>

split-num |532>
|532>

split-num |12345>
|345> . |12>

split-num |12345678901234567890>
|890> . |567> . |234> . |901> . |678> . |345> . |12>

if(|True>, |a>, |b>, |c>)
|a>

if(|False>, |a>, |b>, |c>)
|b>

if(|>, |a>, |b>, |c>)
|c>

if(|fish>, |a>, |b>, |c>)
|c>