Make the lenses also singleton agnostic (!)
Vinyl is entirely independent of a particular singletons implementation

I had to replace the complicated Show instance with something I like
better to make this work. Basically, just give a record of names for
your universe as follows:

    names :: PlainRec (U.Const String) [Name,Age]
    names = SName =: "name"
        <+> SAge =: "age"

Then use `showWithName names rs` where `rs :: Rec el f [Name,Age]`, such
that `Show f (el $ r)` is satisfied for all the rows.

You may optionally give `names` as an `Implicit` instance and then use
`rshow rs`.