Glib, it's kinda obvious; all you need to define a mesh is vertex positions and an index list of triangles. All the rest is optional or can be calculated from that data, just like normals, binormals and tangents. I guess they do it for several reasons, smaller filesizes, faster loading, simplicity, etc ?