anchor.diff:          |> Array.mapi (fun i aa -> 
               let orig = downTrans.[i*3..i*3+2]
               // ensure we passed in something sensible
  -            assert ( (translate orig).[0] = aa )
  +            assert ( (DnaOps.translate orig).[0] = aa )
               selectMutCodon cl minFreq orig aa)
  -        |> Array.concat
  +        |> DnaOps.concat
           // If the template was flipped to get translation right, flip it back
  -        |> (if fwd then id else revComp)
  -
  -    if localVerbose then printf "templat: %s\n" (downTrans.[0..min 60 downTrans.Length] |> arr2seq)
  -    if localVerbose then printf "    alt: %s\n" (arr2seq alt)
  -    if localVerbose then printf "Current:%s\n" (arr2seq current)
  -    if localVerbose then printf "Alt    :%s\n" (alt |> (if fwd then id else revComp) |> translate |> arr2seq)
  +        |> (if fwd then id else DnaOps.revComp)
  +
  +    let altRetranslated = alt |> (if fwd then id else DnaOps.revComp) |> DnaOps.translate
  +
  +    if localVerbose then printf "templat: %O\n" downTrans.[0..min 60 downTrans.Length]
  +    if localVerbose then printf "    alt: %O\n" alt
  +    if localVerbose then printf "Current:%O\n" current
  +    if localVerbose then printf "Alt    :%s\n" (altRetranslated |> arr2seq)
   
        // ensure the sequence still reads the same amino acids out
  -    assert (downTrans |> translate = (alt |> (if fwd then id else (revComp) ) |> translate) )
  +    assert (DnaOps.translate downTrans = altRetranslated )
       
       match targetAALen with
       | Some(v) -> alt.[..v*3-1]
  
positive.code:         targetAALen
          pp
          false
          (revComp down)
          (revComp prefix)
          (revComp up)
      |> revComp
  
negative.code:         (minFreq:float) 
          (targetAALen : int option) 
          (pp: DesignParams) 
          (up: Dna) 
          (prefix: Dna) 
          (down: Dna) = 
      // generateRight takes upstream prefix and downstream sequence (to be eaten into)
      // reverse everything so that it works as a right design
      //
  