anchor.diff:      let private compileEffectInternal (e : Compiled<Effect, ShaderState>) =
           compile {
               let! e = e
  +            let! glslVersion = version
   
               let hasgs = match e.geometryShader with | Some _ -> true | _ -> false
               let topUsed = ["Colors", typeof<V4d>; "Depth", typeof<float>] |> Map.ofList
  
positive.code:                             let unused = vs.outputs |> Map.filter (fun k v -> not <| Map.containsKey k tessUsed) |> Seq.map(fun (KeyValue(k,(_,v))) -> v) |> Set.ofSeq
                              let vs = removeOutputs unused vs
  
                              let vs = liftIntrinsics vs None ((if hasgs then Geometry TriangleStrip else Fragment) |> Some) 
                              
                              let! vsc = compileShader "VS" vs
                              return Some vsc
  
negative.code: //            | Some Fragment -> FragmentOpt
  //            | _ -> NoneOpt
  
      let private getIntrinsicInputName (v : Version) (t : ShaderType) (last : Option<ShaderType>) (s : string) =
          match t with
              | Vertex ->
                  None
  