Reusing function variables in a `when` conditional

I’m not quite sure which line is doing that. I was kind of blowing past some of your code and realize you have out <> symbol. Assuming symbol is a symbol, the <> operator only works on strings. (oops sorry, that’s my old Ruby brain talking there)

Which line is it failing on? It wouldn’t be elem because the 2nd argument of elem is an integer index.

Speaking of elem, I like to generally stay away from it in favour of pattern matching as it’s much clearer.

Instead of:

tuple = {1, 2}
one = elem(tuple, 0)
two = elem(tuple, 1)

you can simply do:

tuple = {1, 2}
{one, two} = tuple

elem is basically just useful in pipelines (even then I personally don’t like to use it).