Scala virtualized

Let me know if you'd prefer me to rebase.