typed stack