Using function calling 'a la' openAI is fine if what you are after is: 

1) constrained scope of action
2) restricted flexibility
3) inability to compose multiple tools in a single action. 

Which is exactly what openAI were after when they introduced it! It was to fix safety https://t.co/kvMcENOJTC