   'seq splice in match'
   """
     & (macro [what to]
-      (: (Fn a (List a) (List a)))
+      (: (Fn a (Array a) (Array a)))
       (Js.call (Js.access to "unshift") {what}))
 
     map (fn [what to]

        (# Whether the bag contains no elements.)))

    list-elem? (macro [what in]
      (: (Fn item (List item) Bool))
      (Js.call (Js.access in "contains") {what}))

    collection-list (instance (Collection List)
      elem? (fn [what in]
        (list-elem? what in)))
  """

    macroName = ctx.definitionName()
    if ctx.macros()[macroName]
      return malformed call, "Macro with this name already defined"
    if not type or not isTypeAnnotation type
      return malformed call, "Type annotation required"

    # Register type
