@ ProgramNode (location: (0...179))
├── locals: []
└── statements:
    @ StatementsNode (location: (0...179))
    └── body: (length: 6)
        ├── @ DefNode (location: (0...28))
        │   ├── name: :!=
        │   ├── name_loc: (4...6) = "!="
        │   ├── receiver: ∅
        │   ├── parameters:
        │   │   @ ParametersNode (location: (7...12))
        │   │   ├── requireds: (length: 1)
        │   │   │   └── @ RequiredParameterNode (location: (7...12))
        │   │   │       └── name: :other
        │   │   ├── optionals: (length: 0)
        │   │   ├── rest: ∅
        │   │   ├── posts: (length: 0)
        │   │   ├── keywords: (length: 0)
        │   │   ├── keyword_rest: ∅
        │   │   └── block: ∅
        │   ├── body:
        │   │   @ StatementsNode (location: (16...28))
        │   │   └── body: (length: 1)
        │   │       └── @ CallNode (location: (16...28))
        │   │           ├── receiver: ∅
        │   │           ├── call_operator_loc: ∅
        │   │           ├── message_loc: (16...28) = "do_something"
        │   │           ├── opening_loc: ∅
        │   │           ├── arguments: ∅
        │   │           ├── closing_loc: ∅
        │   │           ├── block: ∅
        │   │           ├── flags: variable_call
        │   │           └── name: "do_something"
        │   ├── locals: [:other]
        │   ├── def_keyword_loc: (0...3) = "def"
        │   ├── operator_loc: ∅
        │   ├── lparen_loc: (6...7) = "("
        │   ├── rparen_loc: (12...13) = ")"
        │   ├── equal_loc: (14...15) = "="
        │   └── end_keyword_loc: ∅
        ├── @ DefNode (location: (30...58))
        │   ├── name: :!=
        │   ├── name_loc: (34...36) = "!="
        │   ├── receiver: ∅
        │   ├── parameters:
        │   │   @ ParametersNode (location: (37...42))
        │   │   ├── requireds: (length: 1)
        │   │   │   └── @ RequiredParameterNode (location: (37...42))
        │   │   │       └── name: :other
        │   │   ├── optionals: (length: 0)
        │   │   ├── rest: ∅
        │   │   ├── posts: (length: 0)
        │   │   ├── keywords: (length: 0)
        │   │   ├── keyword_rest: ∅
        │   │   └── block: ∅
        │   ├── body:
        │   │   @ StatementsNode (location: (46...58))
        │   │   └── body: (length: 1)
        │   │       └── @ CallNode (location: (46...58))
        │   │           ├── receiver: ∅
        │   │           ├── call_operator_loc: ∅
        │   │           ├── message_loc: (46...58) = "do_something"
        │   │           ├── opening_loc: ∅
        │   │           ├── arguments: ∅
        │   │           ├── closing_loc: ∅
        │   │           ├── block: ∅
        │   │           ├── flags: variable_call
        │   │           └── name: "do_something"
        │   ├── locals: [:other]
        │   ├── def_keyword_loc: (30...33) = "def"
        │   ├── operator_loc: ∅
        │   ├── lparen_loc: (36...37) = "("
        │   ├── rparen_loc: (42...43) = ")"
        │   ├── equal_loc: (44...45) = "="
        │   └── end_keyword_loc: ∅
        ├── @ DefNode (location: (60...88))
        │   ├── name: :<=
        │   ├── name_loc: (64...66) = "<="
        │   ├── receiver: ∅
        │   ├── parameters:
        │   │   @ ParametersNode (location: (67...72))
        │   │   ├── requireds: (length: 1)
        │   │   │   └── @ RequiredParameterNode (location: (67...72))
        │   │   │       └── name: :other
        │   │   ├── optionals: (length: 0)
        │   │   ├── rest: ∅
        │   │   ├── posts: (length: 0)
        │   │   ├── keywords: (length: 0)
        │   │   ├── keyword_rest: ∅
        │   │   └── block: ∅
        │   ├── body:
        │   │   @ StatementsNode (location: (76...88))
        │   │   └── body: (length: 1)
        │   │       └── @ CallNode (location: (76...88))
        │   │           ├── receiver: ∅
        │   │           ├── call_operator_loc: ∅
        │   │           ├── message_loc: (76...88) = "do_something"
        │   │           ├── opening_loc: ∅
        │   │           ├── arguments: ∅
        │   │           ├── closing_loc: ∅
        │   │           ├── block: ∅
        │   │           ├── flags: variable_call
        │   │           └── name: "do_something"
        │   ├── locals: [:other]
        │   ├── def_keyword_loc: (60...63) = "def"
        │   ├── operator_loc: ∅
        │   ├── lparen_loc: (66...67) = "("
        │   ├── rparen_loc: (72...73) = ")"
        │   ├── equal_loc: (74...75) = "="
        │   └── end_keyword_loc: ∅
        ├── @ DefNode (location: (90...118))
        │   ├── name: :==
        │   ├── name_loc: (94...96) = "=="
        │   ├── receiver: ∅
        │   ├── parameters:
        │   │   @ ParametersNode (location: (97...102))
        │   │   ├── requireds: (length: 1)
        │   │   │   └── @ RequiredParameterNode (location: (97...102))
        │   │   │       └── name: :other
        │   │   ├── optionals: (length: 0)
        │   │   ├── rest: ∅
        │   │   ├── posts: (length: 0)
        │   │   ├── keywords: (length: 0)
        │   │   ├── keyword_rest: ∅
        │   │   └── block: ∅
        │   ├── body:
        │   │   @ StatementsNode (location: (106...118))
        │   │   └── body: (length: 1)
        │   │       └── @ CallNode (location: (106...118))
        │   │           ├── receiver: ∅
        │   │           ├── call_operator_loc: ∅
        │   │           ├── message_loc: (106...118) = "do_something"
        │   │           ├── opening_loc: ∅
        │   │           ├── arguments: ∅
        │   │           ├── closing_loc: ∅
        │   │           ├── block: ∅
        │   │           ├── flags: variable_call
        │   │           └── name: "do_something"
        │   ├── locals: [:other]
        │   ├── def_keyword_loc: (90...93) = "def"
        │   ├── operator_loc: ∅
        │   ├── lparen_loc: (96...97) = "("
        │   ├── rparen_loc: (102...103) = ")"
        │   ├── equal_loc: (104...105) = "="
        │   └── end_keyword_loc: ∅
        ├── @ DefNode (location: (120...149))
        │   ├── name: :===
        │   ├── name_loc: (124...127) = "==="
        │   ├── receiver: ∅
        │   ├── parameters:
        │   │   @ ParametersNode (location: (128...133))
        │   │   ├── requireds: (length: 1)
        │   │   │   └── @ RequiredParameterNode (location: (128...133))
        │   │   │       └── name: :other
        │   │   ├── optionals: (length: 0)
        │   │   ├── rest: ∅
        │   │   ├── posts: (length: 0)
        │   │   ├── keywords: (length: 0)
        │   │   ├── keyword_rest: ∅
        │   │   └── block: ∅
        │   ├── body:
        │   │   @ StatementsNode (location: (137...149))
        │   │   └── body: (length: 1)
        │   │       └── @ CallNode (location: (137...149))
        │   │           ├── receiver: ∅
        │   │           ├── call_operator_loc: ∅
        │   │           ├── message_loc: (137...149) = "do_something"
        │   │           ├── opening_loc: ∅
        │   │           ├── arguments: ∅
        │   │           ├── closing_loc: ∅
        │   │           ├── block: ∅
        │   │           ├── flags: variable_call
        │   │           └── name: "do_something"
        │   ├── locals: [:other]
        │   ├── def_keyword_loc: (120...123) = "def"
        │   ├── operator_loc: ∅
        │   ├── lparen_loc: (127...128) = "("
        │   ├── rparen_loc: (133...134) = ")"
        │   ├── equal_loc: (135...136) = "="
        │   └── end_keyword_loc: ∅
        └── @ DefNode (location: (151...179))
            ├── name: :>=
            ├── name_loc: (155...157) = ">="
            ├── receiver: ∅
            ├── parameters:
            │   @ ParametersNode (location: (158...163))
            │   ├── requireds: (length: 1)
            │   │   └── @ RequiredParameterNode (location: (158...163))
            │   │       └── name: :other
            │   ├── optionals: (length: 0)
            │   ├── rest: ∅
            │   ├── posts: (length: 0)
            │   ├── keywords: (length: 0)
            │   ├── keyword_rest: ∅
            │   └── block: ∅
            ├── body:
            │   @ StatementsNode (location: (167...179))
            │   └── body: (length: 1)
            │       └── @ CallNode (location: (167...179))
            │           ├── receiver: ∅
            │           ├── call_operator_loc: ∅
            │           ├── message_loc: (167...179) = "do_something"
            │           ├── opening_loc: ∅
            │           ├── arguments: ∅
            │           ├── closing_loc: ∅
            │           ├── block: ∅
            │           ├── flags: variable_call
            │           └── name: "do_something"
            ├── locals: [:other]
            ├── def_keyword_loc: (151...154) = "def"
            ├── operator_loc: ∅
            ├── lparen_loc: (157...158) = "("
            ├── rparen_loc: (163...164) = ")"
            ├── equal_loc: (165...166) = "="
            └── end_keyword_loc: ∅
