====it keyword====

This keyword is a shorthand for the closest leftmost value in an expression. It lets you write
''%%(if: $candles < 2 and it > 5)%%'' instead of ''%%(if: $candles < 2 and $candles > 5)%%'', or ''%%(set: $candles to it + 3)%%''
instead of ''%%(set: $candles to $candles + 3)%%''. (You can't, however, use it in a [[harlowe:put|(put:)]] or [[harlowe:move|(move:)]] macro:
''%%(put:$red + $blue into it)%%'' is invalid.)

Since ''%%it%%'' uses the closest leftmost value, ''%%(print: $red > 2 and it < 4 and $blue > 2 and it < 4)%%'' is the same as
''%%(print: $red > 2 and $red < 4 and $blue > 2 and $blue < 4)%%''.

''%%it%%'' is case-insensitive: ''%%IT%%'', ''%%iT%%'' and ''%%It%%'' are all acceptable as well.

In some situations, the ''%%it%%'' keyword will be //inserted automatically// by Harlowe when the story runs. If you write an
incomplete comparison expression where the left-hand side is missing, like ''%%(print: $red > 2 and < 4)%%'',
then, when running, the ''%%it%%'' keyword will automatically be inserted into the absent spot - producing, in this case,
''%%(print: $red > 2 and it < 4)%%''. Note that in situations where the ''%%it%%'' keyword would not have an obvious value, such as
''%%(print: < 4)%%'', an error will result nonetheless.

If the ''%%it%%'' keyword equals a [[harlowe:datamap|datamap]], [[harlowe:string|string]], [[harlowe:Array|array]], or other "collection" data type, then you can access data values
using the ''%%its%%'' variant - ''%%(print: $red is 'egg' and its length is 3)%%'' or ''%%(set:$red to its 1st)%%''. Much like the ''%%'s%%''
operator, you can use computed values with ''%%its%%'' - ''%%(if: $red's length is 3 and its $position is $value)%%'' will work as
expected.