generalized get elt type a little