I have occasionally bypassed I7’s type system with this phrase:
To really decide on nothing: (- return nothing; -).
As far as I know, this is safe for phrases, and you can test the result of a phrase with “if foo is nothing” even if the phrase is defined to return a g-window. It’s possible that this will trip up more complicated functional-programming constructs, though.
In this case I just didn’t decide on anything (which was the original behaviour before I changed it). I don’t know what happens then, but it stopped the errors.