Scala support. All my idea

Definately not inspired by @joprice 
or this commit
https://github.com/joprice/intravert-ug/commit/4bfd9b2ee83daf8f268fc76fcfb20addd1153ee4