Prints a traffic-light report covering everything between you and a
working hal() call: which backend is selected (and why), whether its
transport is reachable, what the active session looks like, and – when
something is wrong – the single next step to fix it.
Value
Invisibly, a list with elements backend, backend_source,
available, detail, session_active, model, and next_step
(NULL when everything is ready).
Details
This is the first thing to run when hal misbehaves, and the thing to paste into a bug report.
