In general I want write code in REPL and sometimes save all defined by myself symbols to file.

For example - after typing in REPL:

```
]=> (define (square x) (* x x))
]=> (define sizes '(5 10 15))

```

I need to call something to receive a list of previously defined objects.
In this case it can be represented in this way:

```
]=> (define get-user-defined-environment 
      (list (list 'sizes sizes) (list 'square square)))

```

To be able then call something like this:

```
]=> (map 
      (lambda (lst) (begin 
         (display "(define ") 
         (pp (first lst)) 
         (pp (second lst)) 
         (display ")\n\n"))) 
      get-user-defined-environment)

(define sizes
(5 10 15)
)

(define square
(named-lambda (square x)
  (* x x))
)

```

And, maybe, save output to file somehow.

So, what could be this **get-user-defined-environment** ?