(temp) implement isList, isStruct, and asReader