Yes, the implicit conversion for all values is part of the problem. The Haskell approach only gives you magic for literals.