new type to help make decisions using enable_if