anchor.diff:                                      holes.Add(name, Hole.Var(valTy = typeof<'T>, hasView = true))
                                   else
                                       failwithf "Invalid multiple use of variable name for differently typed View and Var: %s" name
  -                            | true, Hole.Simple _ ->
  +                            | true, Hole.Simple _
  +                            | true, Hole.Event ->
                                   failwithf "Invalid multiple use of variable name in the same template: %s" name
                               | false, _ ->
                                   holes.Add(name, Hole.Var(valTy = typeof<'T>, hasView = false))
  
positive.code:                                 match hole with
                                  | Hole.Simple ty ->
                                      varMap.Add((name, ty), arg)
                                  | Hole.View valTy ->
                                      varMap.Add((name, ViewOf valTy), arg)
                                  | Hole.Var(valTy, hasView) ->
  
negative.code: 
      let ViewOf ty = typedefof<View<_>>.MakeGenericType([|ty|])
      let VarOf ty = typedefof<Var<_>>.MakeGenericType([|ty|])
      let EventTy = typeof<WebSharper.JavaScript.Dom.Event -> unit>
  
      [<RequireQualifiedAccess>]
      type Hole =
          | Var of valTy: System.Type * hasView: bool
          | View of valTy: System.Type
          | Event
          | Simple of ty: System.Type
  
          member this.ArgType =
              match this with
              | Var (valTy = t) -> VarOf t
              | View (valTy = t) -> ViewOf t
              | Event -> EventTy
              | Simple (ty = t) -> t
  
  [<TypeProvider>]
  