whole new approach to dealing with circularities in type checker