Modified the smart application constructor <> so that it uses fresh type variables for the arguments.