introducing weaktype