backup before rewriting function signature as consisting only of reference, which may or may not be polymorphic