title: Why is my script block treated as a string on execution instead of being executed as a script?
body: <p>I expected the following script blocks to execute and return numbers of type <code>byte</code> and <code>int</code> but everything inside quotation marks becomes just a string instead of a script.</p>
  
  <pre><code>$a=(&amp;{Param($t);"[$t]`$num=10;`$num+=2;`$num"} byte)
  $a
  # OUTPUTS STRING [byte]$num=10;$num+=2;$num
  # NOT NUMBER 12
  
  $ty="int"
  $b=(&amp;{"[$ty]`$num=5;`$num+=2;`$num"})
  $b
  # OUTPUTS STRING [int]$num=5;$num+=2;$num
  # NOT NUMBER 7
  </code></pre>
  
  <p>How do I make it work as expected?
  Thanks</p>