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