add partial support for optional arguments

AS doesn't actually allow optional arguments, so users can pass `missing value` for positional arguments