CBPV ValType: Name members

To get nicer names in generated pattern matches.
Give a caching semantics to types