Enhance Code Quality with Type-Driven Development