let start ?(url_hook=fun (s:string) -> s) args =
    let l =
      match args with
      | link :: other_args ->
          let kind, linkto = get_kind (url_hook link) in
          create ~kind ~linkto ~other_args ()
      | [] -> create ()
    in
    (`link l, Buffer.add_string l.contents)