Area enclosed by perimeter loop
Brain-Flak, 112 bytes

(([]){[{}]&lt;{({}()){{}&lt;&gt;([{}]&lt;([{}])&gt;)(&lt;&gt;)}&lt;&gt;(({}[({})])[({}{})])&lt;&gt;}{}&lt;&gt;&gt;({}&lt;({}())&gt;)&lt;&gt;([])}{})({()&lt;({}()())&gt;}{})


Try it online!

This program uses Green's theorem to compute the area

The current location is stored on the right stack, in a format that depends on the direction faced.

Direction  top  second
north       -x       y
west        -y      -x
south        x      -y
east         y       x


In all instances, the second value on the stack will increase by 1, and the line integral for the area decreases by half the value on the top of the stack.  To compensate, the end of the program divides the running total by -2.

# For each number in input
(([]){[{}]

  # Evaluate turn-handling to zero
  &lt;

    # If turn:
    {

      # If right turn:
      ({}()){{}

        # Negate both values on other stack (reverse direction)
        &lt;&gt;([{}]&lt;([{}])&gt;)

      (&lt;&gt;)}

      # Swap the two stack elements and negate the new top of stack
      # This performs a left turn.
      &lt;&gt;(({}[({})])[({}{})])&lt;&gt;

    }{}

  &lt;&gt;&gt;

  # Evaluate as top of stack and...
  ({}&lt;

    # increment the number below it
    ({}())

  &gt;)&lt;&gt;

([])}{})

# Divide total by -2
({()&lt;({}()())&gt;}{})