<?xml version='1.0' encoding='UTF-8'?>
<AST>
  <HeaderNode startPos="1,1,0" endPos="11,1,243">
    <VariableTable startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="in1" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="1" name="in0" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="2" name="payload" startPos="2,7,14" endPos="2,14,21"/>
      <NameSlot slot="3" name="element" startPos="4,13,73" endPos="4,20,80"/>
      <NameSlot slot="4" name="func" startPos="4,22,82" endPos="4,26,86"/>
      <NameSlot slot="5" name="obj" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="6" name="$" startPos="6,27,134" endPos="6,27,134"/>
      <NameSlot slot="7" name="$$" startPos="6,27,134" endPos="6,27,134"/>
      <NameSlot slot="8" name="$$$" startPos="6,27,134" endPos="6,27,134"/>
      <NameSlot slot="9" name="mapKeys" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="10" name="key" startPos="12,20,266" endPos="12,23,269"/>
    </VariableTable>
    <InputDirective startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="in1" startPos="0,0,0" endPos="0,0,0"/>
    </InputDirective>
    <InputDirective startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="1" name="in0" startPos="0,0,0" endPos="0,0,0"/>
    </InputDirective>
    <VersionDirective startPos="1,1,0" endPos="1,8,7">
      <VersionMajor startPos="1,5,4" endPos="1,6,5"/>
      <VersionMinor startPos="1,7,6" endPos="1,8,7"/>
    </VersionDirective>
    <InputDirective startPos="2,1,8" endPos="2,30,37">
      <NameSlot slot="2" name="payload" startPos="2,7,14" endPos="2,14,21"/>
    </InputDirective>
    <OutputDirective startPos="3,1,38" endPos="3,23,60"/>
    <FunctionDirective startPos="4,1,61" endPos="10,4,242">
      <NameSlot slot="9" name="mapKeys" startPos="4,5,65" endPos="4,12,72"/>
      <FunctionNode startPos="0,0,0" endPos="0,0,0">
        <FunctionParameterNode materialize="true" startPos="4,13,73" endPos="4,20,80">
          <NameSlot slot="3" name="element" startPos="4,13,73" endPos="4,20,80"/>
          <TypeNode startPos="0,0,0" endPos="0,0,0"/>
        </FunctionParameterNode>
        <FunctionParameterNode materialize="true" startPos="4,22,82" endPos="4,26,86">
          <NameSlot slot="4" name="func" startPos="4,22,82" endPos="4,26,86"/>
          <TypeNode startPos="0,0,0" endPos="0,0,0"/>
        </FunctionParameterNode>
        <PatternMatcherNode startPos="5,3,92" endPos="10,4,242">
          <VariableReferenceNode startPos="5,3,92" endPos="5,10,99"/>
          <TypePatternNode startPos="6,10,117" endPos="8,6,218">
            <TypeNode startPos="6,17,124" endPos="6,23,130"/>
            <FunctionNode startPos="6,27,134" endPos="8,6,218">
              <FunctionParameterNode materialize="false" startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="5" name="obj" startPos="6,10,117" endPos="6,13,120"/>
                <TypeNode startPos="0,0,0" endPos="0,0,0"/>
              </FunctionParameterNode>
              <FunctionCallNode startPos="6,27,134" endPos="8,6,218"/>
            </FunctionNode>
          </TypePatternNode>
          <DefaultPatternNode startPos="9,5,223" endPos="9,20,238">
            <FunctionNode startPos="9,13,231" endPos="9,20,238">
              <FunctionParameterNode materialize="false" startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="6" name="$" startPos="0,0,0" endPos="0,0,0"/>
                <TypeNode startPos="0,0,0" endPos="0,0,0"/>
              </FunctionParameterNode>
              <VariableReferenceNode startPos="9,13,231" endPos="9,20,238"/>
            </FunctionNode>
          </DefaultPatternNode>
        </PatternMatcherNode>
      </FunctionNode>
    </FunctionDirective>
  </HeaderNode>
  <FunctionCallNode startPos="12,1,247" endPos="12,42,288"/>
</AST>