General Prototyping