Fix: swap hides overloaded virtual function (#34 #18)