x => x;
x => x * x;
x => {x * x};
x => {x * x;};
() => 1;
(x) => x;
(x) => x * x;
(x) => {x * x};
(x) => {x * x;};

x => {
    x *= x;
    x
};

(x) => {
    x *= x;
    x
};

[].sort((a, b) => a - b);
[].sort((a, b) => foo(a, b));
[].reduce((sum, {a, b}) => sum += a + b, 0);

setTimeout(() => {
    1;
    2;
    3
});

foo((a=1, ...rest) => rest[a]);

foo((a=1, b) => b);

foo((a=1, b, ) => b);

async x => x
async (x) => x
async (x) => {x}

a => {
    for (b of [])
        ;
}
() => {
    try {
        1
    } catch {
        2
    }
}
