Structured doctor finding.
@type severity() :: :error | :warning | :advisory
@type t() :: %Crosswake.Doctor.Check{ check: String.t(), code: String.t(), details: map(), hint: String.t() | nil, message: String.t(), severity: severity() }