anchor.diff:                              match value?(name) with
                               | None -> ()
                               | Some x ->
  -                                let [x], _ = link x
  +                                let x = link x |> fst |> List.head
                                   map := Map.add name x !map
                               []
                           | QueryItem.Nullable ->
                               let v = As<Nullable<_>> (value?(name))
                               if v.HasValue then
  -                                let [x], _ = link v.Value
  +                                let x = link v.Value |> fst |> List.head
                                   map := Map.add name x !map
                               []
                           | QueryItem.Mandatory ->
  -                            let [x], _ = link value?(name)
  +                            let x = link value?(name) |> fst |> List.head
                               map := Map.add name x !map
  -                            [])
  +                            []
  +                        | _ -> failwith "invalid QueryItem enum value"
  +                    )
                       |> List.ofSeq)
                   l, !map
               | Sequence (_, _, linkItem) ->
  
positive.code:                             match Map.tryFind name query with
                              | Some x -> v?(name) <- x; Some rest
                              | None -> None
                  )
                  |> Option.map (fun rest -> (v, rest))
              match shape with
  
negative.code:     let getDefaultCtor (t: Type) =
          match t with
          | ConcreteType ct ->
              let defaultCtor = Hashed { CtorParameters = [] }
              let info = comp.GetClassInfo ct.Entity
              if comp.GetClassInfo ct.Entity |> Option.exists (fun cls -> cls.Constructors.ContainsKey defaultCtor) 
              then failwithf "Endpoint type must have a default constructor: %s" t.AssemblyQualifiedName
              else Lambda([], Ctor (ct, defaultCtor, [])), ct.Entity, info.Value
          // TODO: handle TupleType etc
          | _ -> failwithf "Generic endpoint type not supported for routing: %s" t.AssemblyQualifiedName
  
  