Who is Participating?

You didn't declare the type of the function parameters. If you don't declare a type, the compiler will try to assume one. Of course, it's probably not the type you want. So when the compiler sees that you're trying to subscript the parameter, it throws and error.

You also had your source and targets reversed as well as an extra return statement in your main function.