isSharps :: String -> Bool
-- edge case: the only element in sharps that is a flat key
isSharps a | a == "F" = False
           | (map toUpper a) `elem` sharps = True
isSharps :: String -> Bool
isSharps a | a == "F" = False
           | (map toUpper a) `elem` sharps = True
isSharps a | a == "F" = False
           | (map toUpper a) `elem` sharps = True