swirl: types