a function invoking an alias works, unless they are defined within the same conditional, eg:
$ if true;then > alias aseparate='echo aseparate' > fi $ if true;then > fseparate ()(aseparate) > fi $ if true;then > alias atogether='echo atogether' > ftogether ()(atogether) > fi $ aseparate aseparate $ fseparate aseparate $ atogether atogether $ ftogether bash: atogether: command not found