Because if it's present things don't compile. The method `~>[T]` is defined as a method that returns a `ParamFailure[T]`. This implementation doesn't return `ParamFailure[T]`, however. It returns a PramFailure with whatever type the current instance has.

My concern is that @nafg may be right, that this doesn't, in fact, polymorph as I expect it does. That's something I'll need to investigate when I get a minute tomorrow or this weekend.

The reason this is a problem is that we want the following to be true...

```scala
ParamFailure("msg", Empty, Empty, 100) ~> "bacon" = ParamFailure("msg", Empty, Empty, 100)
```