Loosens the record type on `<:` from PlainRec to Rec

This lets you use `cast` on records that are not built with the Identity functor. My use case was refining something like the validator example from the tutorial:

    type Aged = "age" :: Int ': '[]

    ageValidator :: Rec Age (Validator [String])
    ageValidator = cast vperson

I'm not sure if this affects type inference, I found I've had to be pretty liberal in my type annotations when using cast.