Ugh, I'm an idiot. /var declaration is wrong in that last one.

Code:
contains {
  ; $contains(<haystack>, <needle>)
  var %needle = $2, %char
  while $left(%needle, 1) {
    %char = $ifmatch
    if ($count(%needle, %char) > $count($1, %char)) return
    %needle = $remove(%needle, %char)
  }
  return $true
}