Allow overwriting types, add special patterns