inverse to split.keyval

Not used yet but helps clarify keyval semantics. Coudl be used in
typedbytes reader but we'll leave it as it is for perf reasons
add some abstraction goodness
a SEXP is  not a scalar