let a ?style ?onclick ?href ?name ?(attrs = []) children =
    let m = create "a" ~attrs:attrs () in
      set_attr_opt m "style" style ;
      (match name with
         | Some s -> set_attr_opt m "name" name ; set_attr_opt m "href" href
         | None ->
             set_attr_opt m "href"
               (match href with Some "#" | None -> Some "javascript:;" | _ -> href)) ;
      register_event_opt m "onclick" onclick ;
      List.iter (Node.append m) children ;
      m