forgetful functor creates limits