pure: avoid unnecessary method dispatches