anchor.diff:                  let rm = R.Method.Parse m
                   rm.DeclaringType, rm.Name, [M.MethodNode rm; M.TypeNode rm.DeclaringType]
               | _ -> failwithf "Invalid handler function: %A" q
  -        let func =
  -            match WebSharper.Web.Shared.Metadata.GetAddress declType with
  +        let rec attr : WebSharper.Html.Server.Html.Attribute =
  +            { Name = "on" + event
  +              Value = ""
  +              Annotation = Some (Requires(reqs, func) :> _) }
  +        and func (meta: M.Info) =
  +            match meta.GetAddress declType with
               | None ->
                   failwithf "Error in Handler at %s: Couldn't find address for method"
                       (getLocation q)
  
positive.code: 
  type Attr =
      | AppendAttr of list<Attr>
      | SingleAttr of string * string * option<WebSharper.Html.Client.IRequiresResources>
  
      static member Create name value =
          SingleAttr(name, value, None)
  
      static member Append a b =
          AppendAttr [a; b]
  
negative.code:                     match a.Parent with
                      | None -> acc
                      | Some p -> mk acc p
                  attr.Value <- String.concat "." (mk [name] a) + "(event)"
          SingleAttr attr 
  
      let rec AsAttributes attr : list<Attribute> =
          match attr with
          | AppendAttr a -> List.collect AsAttributes a
          | SingleAttr a -> [a]
  
  namespace WebSharper.UI.Next.Client
  
  