The return types of all methods on IAstPartialMapper include | nil. In what case might that be returned?
In my case I'm calling astMapper(...).statement(stmt) where stmt is a SelectFromStatement. Staring at AstDefaultMapper.selection, that returns assignChanged(val, ...) and assignChanged returns the same type as its first argument. So I fully expect to get a SelectFromStatement back. What's the nil there for? And if I do get a nil, how would I get at some more information about what went wrong?