anchor.diff:              let targets = targets |> List.map snd |> List.map ArrayND.atLeast1D
               let inputs = inputs |> List.map snd |> List.map ArrayND.atLeast1D
               {Input=ArrayND.concat 0 inputs; Target=ArrayND.concat 0  targets}
  -        )
  -    
  -
  -    let printInfo (pars: Parameters) (rowTypes: RowTypes) (data: RowData seq) =
  +        ) 
  +
  +    let printInfo (pars: Parameters) (rowTypes: RowTypes) (data: RowData seq) (samples: DataSampleT seq) =
           let printField isHead s = 
               let fieldLen = 17
               let pad = if isHead then "-" else " " 
  
positive.code:             else
                  headPrintf "%d" i
          printfn ""
          for row in Seq.take 5 data do
              for d in row do
                  fieldPrintf "%A" d
              printfn ""
          printfn ""
  
      let loadFromReader (pars: Parameters) (reader: unit -> TextReader) = 
          let csv () = CsvFile.Load(reader(), separators=pars.Separators, quote='"', hasHeaders=false)
  
negative.code:         let data = loadData rowTypes (csv ()) 
          let dataArrays = fieldsToArrayNDs pars.Missing pars.CategoryEncoding rowTypes categoryTables pars.TargetCols data 
          let samples = toCsvSamples pars.TargetCols dataArrays 
          printInfo pars rowTypes data samples
          samples
  
      let loadTextFile (pars: Parameters) path =
  