I, personally, am against libraries extending (builtin) types (`10.toWords`). Makes maintaining the code more difficult. Also it should be the users' choice; if they wish, let they themselves do the work. What I absolutely prefer to see from a library is something like below (clean and clear without any magical use):

```scala
object NumToWords {
  def apply(n: Long): String = ...
  def apply(n: Int): String = ...

  // the rest of the methods are private
  ....
}
```