anchor.diff:          
           /// use reflection to bootstrap a shape instance
           let resolve (t : Type) =
  -            if t.IsGenericTypeDefinition then raise <| UnSupportedShape
  -            elif t.IsGenericParameter then raise <| UnSupportedShape
  -            elif isIntrinsicType t then raise <| UnSupportedShape
  +            if t.IsGenericTypeDefinition then raise UnSupportedShape
  +            elif t.IsGenericParameter then raise UnSupportedShape
  +            elif isIntrinsicType t then raise UnSupportedShape
               elif t.IsPrimitive then activate1 typedefof<ShapePrimitive<_>> t
               elif FSharpType.IsTuple t then
                   let gas = t.GetGenericArguments()
  
positive.code:                 | 6 -> activate typedefof<ShapeTuple<_,_,_,_,_,_>> gas
                  | 7 -> activate typedefof<ShapeTuple<_,_,_,_,_,_,_>> gas
                  | 8 -> activate typedefof<ShapeTuple<_,_,_,_,_,_,_,_>> gas
                  | _ -> invalidOp "invalid tuple type"
  
              elif FSharpType.IsUnion(t, allMembers) then
                  match t with
  
negative.code:                     | 5 -> activate typedefof<ShapeChoice<_,_,_,_,_>> args
                      | 6 -> activate typedefof<ShapeChoice<_,_,_,_,_,_>> args
                      | 7 -> activate typedefof<ShapeChoice<_,_,_,_,_,_,_>> args
                      | _ -> raise UnSupportedShape
  
              elif FSharpType.IsRecord(t, allMembers) then
                  if t.IsGenericType && t.GetGenericTypeDefinition () = typedefof<_ ref> then
  