FILE: safeCallsWithUnaryOperators.kt
    public? final? fun foo(): R|kotlin/Unit| {
        a#?.{  {
            lval <receiver>: <implicit> = $subj$
            lval <unary>: <implicit> = R|<local>/<receiver>|.b#
            R|<local>/<receiver>|.b# = R|<local>/<unary>|.inc#()
            R|<local>/<unary>|
        }
         }
        a#?.{ $subj$.b# }?.{  {
            lval <receiver>: <implicit> = $subj$
            lval <unary>: <implicit> = R|<local>/<receiver>|.c#
            R|<local>/<receiver>|.c# = R|<local>/<unary>|.inc#()
            R|<local>/<unary>|
        }
         }
        lval <receiver>: <implicit> = a#?.{ $subj$.b# }
        lval <unary>: <implicit> = R|<local>/<receiver>|.c#
        R|<local>/<receiver>|.c# = R|<local>/<unary>|.inc#()
        R|<local>/<unary>|
        a#?.{  {
            lval <array>: <implicit> = $subj$.b#
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|)
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary>|.inc#())
            R|<local>/<unary>|
        }
         }
        a#?.{ $subj$.b# }?.{  {
            lval <array>: <implicit> = $subj$.c#
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|)
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary>|.inc#())
            R|<local>/<unary>|
        }
         }
        lval <array>: <implicit> = a#?.{ $subj$.b# }.c#
        lval <index0>: <implicit> = IntegerLiteral(0)
        lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|)
        R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary>|.inc#())
        R|<local>/<unary>|
        a#?.{  {
            lval <array>: <implicit> = $subj$.b#.get#(IntegerLiteral(0))
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|)
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary>|.inc#())
            R|<local>/<unary>|
        }
         }
        a#?.{ $subj$.b# }?.{  {
            lval <array>: <implicit> = $subj$.c#.get#(IntegerLiteral(0))
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|)
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary>|.inc#())
            R|<local>/<unary>|
        }
         }
        lval <array>: <implicit> = a#?.{ $subj$.b# }.c#.get#(IntegerLiteral(0))
        lval <index0>: <implicit> = IntegerLiteral(0)
        lval <unary>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|)
        R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary>|.inc#())
        R|<local>/<unary>|
        lval <receiver>: <implicit> = a#?.{ $subj$.b# }
        lval <unary>: <implicit> = R|<local>/<receiver>|.d#()
        R|<local>/<receiver>|.d# = R|<local>/<unary>|.inc#()
        R|<local>/<unary>|
    }
    public? final? fun foo2(): R|kotlin/Unit| {
        a#?.{  {
            lval <receiver>: <implicit> = $subj$
            lval <unary-result>: <implicit> = R|<local>/<receiver>|.b#.inc#()
            R|<local>/<receiver>|.b# = R|<local>/<unary-result>|
            R|<local>/<unary-result>|
        }
         }
        a#?.{ $subj$.b# }?.{  {
            lval <receiver>: <implicit> = $subj$
            lval <unary-result>: <implicit> = R|<local>/<receiver>|.c#.inc#()
            R|<local>/<receiver>|.c# = R|<local>/<unary-result>|
            R|<local>/<unary-result>|
        }
         }
        lval <receiver>: <implicit> = a#?.{ $subj$.b# }
        lval <unary-result>: <implicit> = R|<local>/<receiver>|.c#.inc#()
        R|<local>/<receiver>|.c# = R|<local>/<unary-result>|
        R|<local>/<unary-result>|
        a#?.{  {
            lval <array>: <implicit> = $subj$.b#
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary-result>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|).inc#()
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary-result>|)
            R|<local>/<unary-result>|
        }
         }
        a#?.{ $subj$.b# }?.{  {
            lval <array>: <implicit> = $subj$.c#
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary-result>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|).inc#()
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary-result>|)
            R|<local>/<unary-result>|
        }
         }
        lval <array>: <implicit> = a#?.{ $subj$.b# }.c#
        lval <index0>: <implicit> = IntegerLiteral(0)
        lval <unary-result>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|).inc#()
        R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary-result>|)
        R|<local>/<unary-result>|
        a#?.{  {
            lval <array>: <implicit> = $subj$.b#.get#(IntegerLiteral(0))
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary-result>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|).inc#()
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary-result>|)
            R|<local>/<unary-result>|
        }
         }
        a#?.{ $subj$.b# }?.{  {
            lval <array>: <implicit> = $subj$.c#.get#(IntegerLiteral(0))
            lval <index0>: <implicit> = IntegerLiteral(0)
            lval <unary-result>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|).inc#()
            R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary-result>|)
            R|<local>/<unary-result>|
        }
         }
        lval <array>: <implicit> = a#?.{ $subj$.b# }.c#.get#(IntegerLiteral(0))
        lval <index0>: <implicit> = IntegerLiteral(0)
        lval <unary-result>: <implicit> = R|<local>/<array>|.get#(R|<local>/<index0>|).inc#()
        R|<local>/<array>|.set#(R|<local>/<index0>|, R|<local>/<unary-result>|)
        R|<local>/<unary-result>|
        lval <receiver>: <implicit> = a#?.{ $subj$.b# }
        lval <unary-result>: <implicit> = R|<local>/<receiver>|.d#().inc#()
        R|<local>/<receiver>|.d# = R|<local>/<unary-result>|
        R|<local>/<unary-result>|
    }
