Manual Combination of Recent Version and the new Interface
Also solved the Cons Type mistake
Merge branch 'currentVersion' into experimental

Conflicts:
	core/src/main/scala/Test.scala
	macros/src/main/scala/Macros.scala
add preconditions, remove dummies, write tests