NamedFunction is important for displaying good error messages when there's something wrong with the Zig structs we're trying to bind to JS. By making it a normal struct, it's easier and cheaper to pass wherever an @compileError might be needed.