I agree that for these types of constructs a more functional style could look better. That being said the OOP approach as the merit of reading in the proper order: you get your args, pick the 1st and then use that or the default "y" value.
If you rewrite this to use function calls instead of methods you end up with something like:
(or (cadr (args)) "y")
Which is fine if you're used to lisp syntax but it's really a matter of taste at this point.
If you rewrite this to use function calls instead of methods you end up with something like:
Which is fine if you're used to lisp syntax but it's really a matter of taste at this point.