I think it'd be nice it we could change the scope an identifier is called in to the calling script, for example:
alias im return $::ifmatch
//if (x == y) echo -a $im
$im would be the same as $ifmatch, rather than $null because $ifmatch was called in the scope of the calling script, not the $im identifier.