anchor.diff:                            | Constant ( SimplePrimitive Int, PrimitiveValue.Int idx) -> // it must be a list/tuple
                               // get the address in the list
                               let! addrReg = freshReg
  -                            let regType = "i64*" // TODO: det er kun i64* ved lister af ints. Skal laves på baggrund af toLoadType
  +
  +                            let regType = sprintf "%s*" (extractTypeListType toLoadType)
                               let getElemCode = sprintf "getelementptr %s %s, i32 0, i32 %d" toLoadType toLoadName idx
                               let! (addrName, addrType, addrCode) = newRegister addrReg regType getElemCode
   
  
positive.code: open AnalysisUtils
  open System
  open System.IO
  
  module CodeGen =
      type Value = (string * string * string) // name, type, code
  
negative.code:             do! putState newEnv
              return (sprintf "%%_%d" newEnv.regCounter)
          }
      let extractTypeListType (listType:string) : string =
          let regex = Regex(@"^\[\d\sx\s(.+)\]")
          regex.Match(listType).Groups.[1].Value
  
  //    let append (code:string) : State<unit, Environment> =
  //        state {
  