According to GHC there are multiple declarations of bar, but not of foo. I don't understand. Why is it not valid to have multiple clauses for a variable binding? Tom bar | False = () bar = () foo _ | False = () foo _ = ()