The script you have provided is a valid Python script that runs just fine when explicitly executed in the platform - however, I see that you have applied the #panel tag, so you were trying to use it as an info panel. Indeed, the current limitation is that info panels only work with functions that accept only one semType parameter (the panel gets activated when user clicks on the corresponding cell).
The capability for info panels to automatically bind to multiple semType-annotated parameters (taken from the corresponding columns) would definitely be useful - however, we need to come up with a simple and efficient way for doing it. I’ve created an issue in out tracking system, will post here when we have an update for it.