prototypes as types examples