basic ensurable type and provider