non-boolean-like argument following long bool opt without '=' should be considered as an argument, not an erroneous value

Consider the following, where "opt" is a long boolean option:
script --opt true  => gives opt: true
script --opt filename  => gave an error. I want it to give: opt: true, and first arg=filename.