An experiment in using type-inference and templates to make