considered generic types