Andrew,May be your solution is some combination of the describe object, more info here.You could try using the dataElementType property?This bit of python will give you all the data element types as long as they are not in a grouplayer.mxd = arcpy.mapping.MapDocument("CURRENT")
l = arcpy.mapping.ListLayers(mxd)
for al in l:
d = arcpy.Describe(al)
print d.dataelementtype
Duncan