Does it count as bikeshedding if I'd suggest to make them polykinded? I think Vinyl would benefit from this: https://hackage.haskell.org/package/vinyl-0.5.1/docs/Data-Vinyl-Functor.html Best regards, Marcin Mrotek