anchor.diff:      (mapc (lambda (arg name)
               (setf (llvm:value-name arg) (clutter-symbol-name name))
               (extend fenv name
  -                    (llvm:build-alloca *builder* (llvm:type-of arg) (clutter-symbol-name name)))
  -            (llvm:build-store *builder* arg (lookup name fenv)))
  +                    (split-val (llvm:build-alloca *builder* (llvm:type-of arg) (clutter-symbol-name name))
  +                               nil))
  +            (llvm:build-store *builder* arg (split-val-llvm (lookup name fenv))))
             (llvm:params fobj)
             args)
       (let ((ret))
  
positive.code:      (llvm:initialize-native-target)
       (setf llvm-inited t))))
  
  (defun compile-form (form env)
    (typecase form
      (integer (llvm:const-int (llvm:int32-type) form))
      (clutter-symbol (llvm:build-load *builder* (lookup form env) (clutter-symbol-name form)))
      ;; TODO: Recursively compile funcs
      (list (llvm:build-call *builder* (lookup (car form) env)
                             (make-array (length (rest form))
                                         :initial-contents (mapcar (rcurry #'compile-form env)
                                                                   (rest form)))
                             ""))))
  
  (defun compile-func (func env)
    (let* ((op (clutter-function-operator func))
  
negative.code: (in-package #:clutter)
  
  (declaim (optimize debug))
  
  (defstruct (split-val (:constructor split-val (llvm clutter)))
    llvm
    clutter)
  
  (defvar *context* (llvm:global-context))
  (defvar *module*)
  