change type to contex type behavior a bit, should be more stable for diverging instance contexts now