let check 
  ?(callout=fun _ _ _ -> ()) 
    wpo lang 
    = 
  Task.todo 
    begin
      fun () ->
        let log = Log.create wpo in 
        check_by lang log wpo 
          >>! fun s ->
            let r = result s in 
            Log.close log ; 
            callout wpo lang r
    end