implement Key.transpose