
hairColors :: [String]
hairColors = ["amb", "blu", "brn", "gry", "grn", "hzl", "oth"]

isValidEcl :: String -> Bool
isValidEcl = (`elem` hairColors)

isValidPid :: String -> Bool
isValidPid pid = case splitAt 9 pid of
    (digits, "") -> all isDigit digits
    _            -> False

-- Very very very unsafe, but very very very convenient
forceIntoTuple :: Show a => [a] -> (a, a)