Yes, returning full contacts seems insane.  This does have implications for comparison (the returned Contact cannot be compared to a true instance of the same contact) and will require subsequent fetching for details. We might have a compatibility issue later, though.