anchor.diff:  
   (defun tokens (boundary strings)
     (let ((alternation
  -         `(:alternation ,@(sort (copy-list strings) #'> :key #'length))))
  +         `(:alternation ,@(sort (copy-list strings)
  +                #'> :key #'length))))
       (if boundary
           `(:sequence ,boundary ,alternation ,boundary)
           alternation)))
  
positive.code:     (set-syntax-parser table tmlanguage)
      table))
  
  ;; three functions below from lem-python-mode, it seems almost works
  (defun nim-calc-indent (point)
    (with-point ((point point))
      (let ((tab-width (variable-value 'tab-width :default point))
  
negative.code:         (variable-value 'beginning-of-defun-function) 'beginning-of-defun
          (variable-value 'end-of-defun-function) 'end-of-defun))
  
  (pushnew (cons "\\.nim$" 'nim-mode) 
           *auto-mode-alist* :test #'equal)
  (pushnew (cons "\\.nimble$" 'nim-mode)
           *auto-mode-alist* :test #'equal)
  
  