Refactoring
Replaced force_rvalue_type with (semantically clearer) infer_lvalue_type parameter and propagate it to all check_assignmnent* functions
Fixed check_lvalue to handle TupleExpr, ListExpr, and ParenExpr correctly