There are two kinds of cities. There are cities designed for cars and cities designed for people.
If you're wondering which you'd rather live in, ask yourself whether you'd rather lose the ability to drive or the ability to walk.
A small tweak to how we think about planning can make it much easier to design cities for people. That tweak starts with understanding the urban transect.
You have a scale from T1 to T6. T1 is untouched nature, T6 is a metropolitan core. The places in between are a gradient of increasing density and activity.
Instead of planning the land use, instead decide on the shape of the community you want.
Your 'main street' will probably be T4 or T5. That's the urban metro area with apartments, commercial development and lots of activity and excitement. You plan the energy and the building shapes and types there to support the city you want.
Further out you have the T3 sections, which is more like the typical single family residential areas. The T2 would be the exurban development or rural reserve.
What this lets the planners do is tune the city. Rather than simply having to say yes or no to something, it lets them say how and where, and have it support the goal of a complete city.
Building types, fences, roads, sidewalks and public space can all be tuned in the land use bylaw by where it exists in the transect. You might want big setbacks in T3 but buildings up to the sidewalk at T5.
You could allow apartment buildings in T4 and T5 areas, but not in the T1, T2 or T3 areas. They wouldn't be right for that part of the city. These decisions help clarify what the city will be like, make the decisions about what sort of buildings can go where, and simplify what's normally a complicated land-use-bylaw document.
By specifying which areas are in which parts of the transect and what is allowable in each of the spaces, you allow the city to become what it needs to be. Rather than focusing on which areas are commercial, residential and industrial, you make it easy to specify the gradient and variety of development that allows human scale cities to emerge. Look up the 'Smartcode' for details.
You could throw out your existing land-use bylaw and start over. That's what Miami did. There's enough existing suburbia out there that makes that sort of strategy challenging.
A parallel code strategy would allow you to pick whether you wanted to build your development for cars or for people, then follow that set of rules, whether it's the traditional Land Use Bylaw, or the Smartcode.
Changing the planning structure makes it easier to make cities for people instead of cities for cars. That's what lets you keep the small town feel as your city grows.