simpler types, same as in Shallow