Structural Prototypes, Language Prototypes and Algorithmic Problems