typos
template as duck type