puzzled over why this works without explicit typing