REBOL experts will delight in this bug recently found by guru Gabriele Santilli. (Non experts are free to skip this article. ;)

Since this article is for experts only, the problem can be concisely summarized as: construction of reflected functions may not be equivalent in some cases. This is due to a bug in pseudo-datatypes (often called just pseudo-types).

Gabriele found it when he was building an RPC mechanism on top of REBOL/Services. A bug popped up in a simple remote construction of the append function. Upon removing the RPC and REBOL/services environment and reducing it down to the minimal expression, this error was found in a new function apd that should be identical to append: