valid :: Grid -> Bool
valid g = (all nodups (rows g)) && (all nodups (cols g)) && (all nodups (boxes g))
valid :: Grid -> Bool
valid g = (all nodups (rows g)) && (all nodups (cols g)) && (all nodups (boxes g))
valid g = (all nodups (rows g)) && (all nodups (cols g)) && (all nodups (boxes g))