Most of optional positional arg handling.