anchor.diff:          (minFreq:float)
           (targetAALen : int option)
           (pp: DesignParams)
  -        (up: char array)
  -        (prefix:char array)
  -        (down:char array) =
  +        (up: Dna)
  +        (prefix: Dna)
  +        (down: Dna) =
       generateHBCore cl minFreq targetAALen pp true up prefix down    
   
   /// Create a heterology block, removing part of the left hand (up) slice sequence and replacing with a rewritten sequence    
  
positive.code:         (down.Length/3*3)
          |> min (match targetAALen with | None -> 120 | Some(v) -> v*3)
  
      let downTrans = down.[0..transLen-1] |> (if fwd then id else revComp)
      let current = downTrans |> translate
  
      // Pick alternative codons
      let alt =
  
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
      //
  