Two-column index (pretty unequal columns) and database optimisation
You're right. The more selective column should come first unless it happens to be in a range condition. 

Having type in the index will provide absolutely no benefits on the performance when you query for type='a'. It will however put some extra overhead on your indexes which may result in actual degradation of performance.

If id is always in the query with this cardinality I wouldn't bother having type in your index at all. Especially if id is unique.