finished specialization with free variables