#3 : Fix handling of optional vs required arguments