Last, my current preferred alternative, is to make class a built-in type with reflective behavior. What matter is that the current syntax supports using class without requiring a modification of the compiler or language. Information hiding is important. In LX, private implementation details are really hidden, they are not in the source code. The LX approach allows you to use all the scoping rules to perform information hiding.
Functional programming is defined by two essential characteristics.
LX does qualify for the second aspect. Functions as objects are a necessity for convenient use of reflection. See for instance how the tasking example uses functional bodies for the task objects. LX also has support for other properties often associated with functional programming, such as lists, garbage collection and weak typing. Thus, Lisp hackers will often find the LX way a bit clumsy.