fresh type variable problem