void, non-void and auto vec-functions; empty classes as tuple elements