RValue now accepts values.
Added a truck-load of test for Function which don't currently pass.