winner :: [Move] -> Maybe String
winner moves
    | hasWon 'x' moves = Just "x"
    | hasWon 'o' moves = Just "o"
    | boardFull moves = Just "0"
    | otherwise = Nothing
winner :: [Move] -> Maybe String
winner moves
    | hasWon 'x' moves = Just "x"
    | hasWon 'o' moves = Just "o"
    | boardFull moves = Just "0"
    | otherwise = Nothing
winner moves
    | hasWon 'x' moves = Just "x"
    | hasWon 'o' moves = Just "o"
    | boardFull moves = Just "0"
    | otherwise = Nothing