Arrow functions are quite handy for small functions and IIFEs in part because of this nuanced behavior with braces.
Without curly braces, arrow functions support a single operation (be that a function call, math operation, etc.) and return the output of that operation as the return value of the function. This makes simple one-liners a cinch to write and understand because you can remove all the unnecessary fluff, leaving only the meat of the function.
If you want to have multiple operations in your arrow function definition, you need to add curly braces like with a normal function definition, then include a return statement to define which operation you want to return. If you don't include a return here, it's the same as a normal function without a return.
In other words, this:
let oneUpMe = (a) => { a + 1; }
// Braces enclose one or more statements like a normal function
is effectively the same as
function oneUpMe(a) { let b = a + 1; b; }
// But on its own, just calling b does nothing; same with a+1 in the previous example.
in that because there's no return statement, the work inside is never returned, but
let oneUpMe = (a) => a + 1;
will return the proper result because without the braces and with only one statement, the return statement is implied.