 
 isName = (expression) ->
   throw new Error "Nothing passed to isName" unless expression
-  (isAtom expression) and expression.symbol is '~' or /[^~"'\/].*/.test expression.symbol
+  (isAtom expression) and (expression.symbol is '~' or /[^~"'\/].*/.test expression.symbol)
 
 isAtom = (expression) ->
   not (Array.isArray expression)

  else
    (if inSet reservedInJs, name
      "#{name}_"
    else
      name)
      .replace(/\+/g, 'plus_')

      .replace(/\>/g, 'gt_')
      .replace(/\~/g, 'neg_')
      # .replace(/\√/g, 'sqrt_')
      # .replace(/\./g, 'dot_')
      .replace(/\&/g, 'and_')
      .replace(/\?/g, 'p_')
      .replace(/^const$/, 'const_')
