instantiate dependent types