type flexibility.