When I execute this code I receive an error: Cannot access 'bye' before initialization
setTimeout(bye, 3000);
console.log('Hello');
let bye = () => console.log('Goodbye');
But if I change the function to regular function syntax, it executes as I would expect it to. Why is this happening, and is there a way to make this work with arrow syntax?