toplevel works, but there is a bug: it returns a closure instead of the raw value for each evaluation