• How do I build DSLs with yield and instance_eval?