[31m[1mERROR[0m[39m: 
  [31m×[0m You can't inject a mutable reference to a singleton (`&mut app::A`) as an
  [31m│[0m input parameter to `app::handler`.
  [31m│[0m
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:18:1]
  [31m│[0m  [2m18[0m │     bp.singleton(f!(self::build));
  [31m│[0m  [2m19[0m │     bp.route(GET, "/", f!(self::handler));
  [31m│[0m     · [35;1m                       ────────┬────────[0m
  [31m│[0m     ·                                [35;1m╰── The request handler was registered here[0m
  [31m│[0m  [2m20[0m │     bp
  [31m│[0m     ╰────
  [31m│[0m     ╭─[[36;1;4msrc/lib.rs[0m:11:1]
  [31m│[0m  [2m11[0m │ 
  [31m│[0m  [2m12[0m │ pub fn handler(_a: &mut A) -> Response {
  [31m│[0m     · [35;1m               ─────┬────[0m
  [31m│[0m     ·                     [35;1m╰── The &mut singleton[0m
  [31m│[0m  [2m13[0m │     todo!()
  [31m│[0m     ╰────
  [31m│[0m [36m  help: [0mSingletons can only be taken via a shared reference (`&`) or by
  [31m│[0m         value (if cloneable). If you absolutely need to mutate a singleton,
  [31m│[0m         consider internal mutability (e.g. `Arc<Mutex<..>>`).