type class problem / GHC bug