<FromGitter>
<Blacksmoke16> or even just push the task directly in the parser via like `current_todos << task`
<FromGitter>
<Blacksmoke16> which you'd have to do if you want to be able to add more than one thing, otherwise `new_task` will just be set to the last value you add
<FromGitter>
<Blacksmoke16> and correction, you cant just do `if new_task`. iirc something with the way option parser works and how the var is closured or something
<FromGitter>
<asnewman> Yeah for some reason the answer on the SO question was still resulting in the same error 🤔
<FromGitter>
<Blacksmoke16> yea it relates to the way option parser works. the value is closured by the `#on` method. compiler doesnt know when/if it'll be called, or what value will be assigned to it. so it keeps nil in the union
<FromGitter>
<Blacksmoke16> in this case could just do like `current_todos << new_task.not_nil!`, but better to just handle this directly in the on method so it properly handles multiple tasks