Added pair parse case : (, [] []) (, [x] []) (, [])
Swap `eval type: (Env -> Expr -> (Expr, Env)`
Split parser module
Added Void () and Factor Expr data constructor (Alternative of `Call` `Lambda` `Arrow` `Define` `Declare`)
Replace parse results
Merge branch 'parse-expression'

* parse-expression:
  Replace parse results
  Added Void () and Factor Expr data constructor (Alternative of `Call` `Lambda` `Arrow` `Define` `Declare`)
  Split parser module
  Swap `eval type: (Env -> Expr -> (Expr, Env)`
  Added pair parse case : (, [] []) (, [x] []) (, [])