Added non-empty-cons to and removed `CDR` type assertion from `tail`
* `CDR` type of each `Cons` specialization is already asserted to be a `Cons` specialization in e.g. `ConsWithCdr`
* i.e. `tail` is now allowed to return `ConsEmpty`
** while calling `tail` on a `ConsEmpty` is prevented