Directly use proxy type instead of eval