remove is-vector? and is-scalar? from protocols