--------------------------------------------------



printList :: ((r,m) -> FList) -> FList -> FList -> ([r], (b,[m])) -> FList
printList printItem printSep printTerm (reps, (_,mds)) = 
   (concatFL (List.intersperse printSep (map printItem (zip reps mds))) )
   +++ printTerm
printList :: ((r,m) -> FList) -> FList -> FList -> ([r], (b,[m])) -> FList
printList printItem printSep printTerm (reps, (_,mds)) = 
   (concatFL (List.intersperse printSep (map printItem (zip reps mds))) )
   +++ printTerm
printList printItem printSep printTerm (reps, (_,mds)) = 
   (concatFL (List.intersperse printSep (map printItem (zip reps mds))) )
   +++ printTerm