Pushes the check up front so that we don't always land on the application_kernel_list_asset error message, which may be misleading to readers. Also switches the empty check to only emit in debug builds, since this is almost certainly not a runtime error but a programmer error.