 preCompileExp = (source) ->
   parentize typify astize tokenize source
 
+preCompileBottom = (source) ->
+  parentize typifyBottom astize tokenize "(#{source})"
+
 preCompileTop = (source) ->
   parentize typifyTop astize tokenize "(#{source})"
 

compileTop = (ast) ->
  ast.scope = topScopeDefines()
  {body, wheres} = fnImplementation inside ast
  compileFnImpl body, wheres

compileWheres = (ast) ->

  wheres = whereList where
  {body, wheres}

bottomImplementation = (defs) ->
  [where..., body] = defs
  wheres = whereList where
  {body, wheres}

whereList = (defs) ->
  pairs defs

