passing along the type