Refactored fn promotion and improved get() method support