Fix invalid LLVM generated from signal initial value function call
Add some additional type predicates
Add bounds checking for subprogram arguments at runtime
Static bounds checking of scalar call arguments