FIXED: overly restrictive instantiation rules