 ms.syntax = ms_syntax = (ctx, call) ->
   hasName = requireName ctx, 'Name required to declare a new syntax macro'
   [paramTuple, rest...] = _arguments call
-  [body] = rest
+  [maybeType] = rest
+
+  doDeclare =  isTypeAnnotation maybeType
 
   if hasName
     macroName = ctx.definitionName()

  type =
    if expanded is atom.symbol
      kindOfType =
        if isCapital atom
          ctx.kindOfTypeName atom.symbol
        else
          expectedKind or star
      if kindOfType instanceof TempKind
        kindOfType = expectedKind
      if not kindOfType


# Either a type variable or type constructor of some kind
atomicType = (name, kind) ->
  if (isNotCapital symbol: name)
    new TypeVariable name, kind
  else
    new TypeConstr name, kind

tupleType = (arity) ->
  new TypeConstr "[#{arity}]", kindFn arity
