Wait, I'm not sure I understood what you meant in your last comment.  

> The challenge is sneaking a var through the argument checking. 

Agreed.  The first solution (with the context manager) doesn't ever do this.  Vars are never in the Theano expression.  Rather `isvar` can be told that the standard Python string `float32` is intended as a variable

The second solution bypasses argument checking using `raw_init`.