Rewrite GenericContainer::alias() to use closures