all should use cast for thenables