anchor.diff:      printRow row
       printfn ""
   
  -    
  -type group = int list
  -type groupsIntermediate = { FinishedGroups : group list; CurrentGroup : group}
  -type AxisResult = Unknown | Pass | Fail 
  -
  -let getGroups (axis: int[]) =
  +let getGroups (axis) =
     foldi (fun index acc elem -> 
       match elem with
  -    | 0 -> match List.length acc.CurrentGroup with
  -            | 0 -> acc
  -            | _ -> {acc with FinishedGroups = acc.CurrentGroup :: acc.FinishedGroups; CurrentGroup = []}
  +    | CellResult.Empty -> match List.length acc.CurrentGroup with
  +                            | 0 -> acc
  +                            | _ -> {acc with FinishedGroups = acc.CurrentGroup :: acc.FinishedGroups; CurrentGroup = []}
       | _ -> {acc with CurrentGroup = index :: acc.CurrentGroup}
       ) {FinishedGroups = []; CurrentGroup = []} axis
         |> fun acc -> match List.length acc.CurrentGroup with
  
positive.code: module gchq
  
  open System
  
  let row i (arr: 'T[,]) = arr.[i..i, *] |> Seq.cast<'T> |> Seq.toArray
  let column i (arr: 'T[,]) = arr.[*, i..i] |> Seq.cast<'T> |> Seq.toArray
  
negative.code:                       | _ -> acc.CurrentGroup :: acc.FinishedGroups
        
  
  let testAxis (axis) (test: int list) =
    let axisGroups = getGroups axis
    let axisGroupCount = List.length axisGroups
    let testCount = List.length test
  