I also learned this recently, and here on Discourse: Overloading functions with optional arguments - #18 by ashe.