let check logs w =
    let timeout = Wp_parameters.Timeout.get () in
    let stdout = Buffer.create 80 in
    let goal = PO.make L_why w in
    Logs.add_file logs goal ;
    let args = [| "--type-only" ; goal|] in
    Logs.command logs "why" args;
    Task.command ~timeout ~stdout "why" args
    >>? Logs.output logs stdout
    >>= fun res ->
      if res = 0 then Task.return Valid else Task.return Invalid