diff --git a/lib/modules/String.pmod b/lib/modules/String.pmod
index 0bde8cf615c9e02d3c6756190e002cab9cb52f0a..8aa6358f151dcb4346792855b1567469b4240592 100644
--- a/lib/modules/String.pmod
+++ b/lib/modules/String.pmod
@@ -6,9 +6,10 @@ constant count=__builtin.string_count;
  * Implode an array of strings to an english 'list'
  * ie. ({"foo","bar","gazonk"}) beomces "foo, bar and gazonk"
  */
-string implode_nicely(string *foo, string|void and)
+string implode_nicely(array(string|int|float) foo, string|void and)
 {
   if(!and) and="and";
+  foo=(array(string))foo;
   switch(sizeof(foo))
   {
   case 0: return "";