compileLet :: Bind Var -> Expr Var -> Compile Expression
compileLet bind body = do
  case bind of
    NonRec var exp -> compileNonRecLet var exp body
    Rec binds      -> compileRecLet binds body
compileLet :: Bind Var -> Expr Var -> Compile Expression
compileLet bind body = do
  case bind of
    NonRec var exp -> compileNonRecLet var exp body
    Rec binds      -> compileRecLet binds body
compileLet bind body = do
  case bind of
    NonRec var exp -> compileNonRecLet var exp body
    Rec binds      -> compileRecLet binds body