anchor.diff:  
               (* Ensure the traversal doesn't change eltype or length to something
                  we're not expecting. *)
  -            let assemble ((eltype', length', arr'), ix') =
  -                let newType = Array (eltype', length', ())
  -                if typesCompatible originalType newType
  -                then ok (BIdx (eltype, length, arr', ix'))
  -                else fail (BadType (expected = originalType, got = newType))
  +            let assemble (arr', ix') =
  +                ok (BIdx (eltype, length, arr', ix'))
               let tResult =
                   tchain2 asv (Context.inIndex isv) assemble ctx ((eltype, length, arr), ix)
   
  
positive.code:         | Int i -> i |> tliftToIntSrc sub ctx |> lift (pairMap id Int)
          | Array (eltype, length, a) ->
              lift
                  (fun (ctx', ela) -> (ctx', Array ela))
                  (tliftToArraySrc sub ctx (eltype, length, a))
  
  /// <summary>
  
negative.code: 
              (* Ensure the traversal doesn't change eltype or length to something
                 we're not expecting. *)
              let assemble (arr', ix') =
                  ok (IIdx (eltype, length, arr', ix'))
              let tResult =
                  tchain2 asv (Context.inIndex isv) assemble ctx ((eltype, length, arr), ix)
  
  